MCPcopy Create free account
hub / github.com/boostorg/build / test_default_toolset_requirements

Function test_default_toolset_requirements

v2/test/default_toolset.py:145–200  ·  view source on GitHub ↗

Test that default toolset's requirements get applied correctly.

()

Source from the content-addressed store, hash-verified

143###############################################################################
144
145def test_default_toolset_requirements():
146 """Test that default toolset's requirements get applied correctly.
147 """
148
149 t = BoostBuild.Tester("--user-config= --ignore-site-config",
150 pass_toolset=False, use_test_config=False,
151 ignore_toolset_requirements=False)
152
153 toolset_name = "customTestToolsetWithRequirements"
154
155 # Custom toolset.
156 t.write(toolset_name + ".jam", """
157import feature ;
158import toolset ;
159feature.extend toolset : %(toolset_name)s ;
160toolset.add-requirements <description>toolset-requirement ;
161rule init ( ) { }
162""" % {'toolset_name': toolset_name})
163
164 # Main Boost Build project script.
165 t.write("jamroot.jam", """
166import build-system ;
167import errors ;
168import feature ;
169import notfile ;
170
171build-system.set-default-toolset %(toolset_name)s ;
172
173feature.feature description : : free incidental ;
174
175# We use a rule instead of an action to avoid problems with action output not
176# getting piped to stdout by the testing system.
177rule buildRule ( names : targets ? : properties * )
178{
179 local descriptions = [ feature.get-values description : $(properties) ] ;
180 ECHO "descriptions:" /$(descriptions)/ ;
181 local toolset = [ feature.get-values toolset : $(properties) ] ;
182 ECHO "toolset:" /$(toolset)/ ;
183}
184
185notfile testTarget
186 : @buildRule
187 :
188 :
189 <description>target-requirement
190 <description>toolset-requirement:<description>conditioned-requirement
191 <description>unrelated-condition:<description>unrelated-description ;
192""" % {'toolset_name': toolset_name})
193
194 t.run_build_system()
195 t.expect_output_lines(configuring_default_toolset_message % toolset_name)
196 t.expect_output_lines("descriptions: /conditioned-requirement/ "
197 "/target-requirement/ /toolset-requirement/")
198 t.expect_output_lines("toolset: /%s/" % toolset_name)
199
200 t.cleanup()
201
202

Callers 1

default_toolset.pyFile · 0.85

Calls 4

writeMethod · 0.95
run_build_systemMethod · 0.95
expect_output_linesMethod · 0.95
cleanupMethod · 0.95

Tested by

no test coverage detected