3 # Copyright 2018 Steven Watanabe
4 # Distributed under the Boost Software License, Version 1.0.
5 # (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
7 # Test the handling of toolset.add-defaults
11 t
= BoostBuild
.Tester(pass_toolset
=0, ignore_toolset_requirements
=False)
13 t
.write('jamroot.jam', '''
16 import feature : feature ;
26 rule test-rule ( properties * )
28 if <f1>a in $(properties)
35 <conditional>@test-rule
40 rule check-requirements ( target : sources * : properties * )
42 local expected = <f2>d <f4>h <f6>m ;
43 local unexpected = <f2>c <f4>g <f6>k <f6>l ;
44 local missing = [ set.difference $(expected) : $(properties) ] ;
47 errors.error $(missing) not present ;
49 local extra = [ set.intersection $(unexpected) : $(properties) ] ;
52 errors.error $(extra) present ;
55 make test : : @check-requirements : <f6>m ;