Commit Graph

10 Commits

Author SHA1 Message Date
Steven Watanabe
ee613a6a28 Implement feature relevance.
* New feature <relevant> which is automatically deduced in most cases.
* Features which are not relevant do not affect target paths and
  do not prevent merging of virtual targets.
* generators.jam: generator.run always returns usage-requirements
  to allow usage-requirements in non-top-level generators.  This
  is necessary because we're using usage-requirements to track
  relevance from flags.
* New rule toolset.uses-features to specify features that the rule
  checks manually, instead of using toolset.flags.  In the future,
  we should consider restricting the properties actually passed,
  to detect errors.
* Adjust tests to handle the new paths (verified by inspection).
* Add temporary option --ignore-relevance to consider all features relevant
  to aid migration.
* New rule property.evaluate-conditional-relevance which helps tracking
  relevance in <conditional>.
* Widely scattered changes to use the new interfaces.
2018-01-13 09:13:49 -07:00
Rene Rivera
40e7f0e8dd Fix tests to pass on Windows after removing toolset requirements ignore.
Various restructure of test framework handling of paths to avoid duplicate path editing which caused failed tests. Adjust many tests to deal with added subdirectories in build outputs now that toolset requirements are active.
2017-07-02 23:28:48 -05:00
Steven Watanabe
fb07490ec7 Tests that use the compiler need user-config.jam or they will fail if the toolset requires non-default initialization.
[SVN r83618]
2013-03-28 00:16:19 +00:00
Jurko Gospodnetić
343b4d6532 Updated the internal Boost Build testing system to use the Python subprocess module (introduced in Python 2.4) for running external processes instead of popen2 (deprecated since Python 2.6). We are already using Python 2.4 features in this codebase so there is no need to support Python releases older than 2.4.
Related changes:
  * BoostBuild.Tester & TestCmd.TestCmd interfaces now accept external process parameters as a list of strings, thus avoiding problems with parsing arguments containing spaces.
  * Avoided a potential process hang in case an external process being run prints out enough output to fill up the OS's pipe buffer (OS would pause the process until someone read the data from the pipe but the testing framework would not do this until the process in question had terminated).

[SVN r79448]
2012-07-12 12:55:25 +00:00
Jurko Gospodnetić
c5e5b5324e Boost Build cleanup - minor stylistic internal Boost Build test script & testing system changes.
[SVN r79445]
2012-07-12 12:22:14 +00:00
Steven Watanabe
d3b0ec3508 Handle cycles when determining target fate in make0.
[SVN r78259]
2012-04-30 01:21:04 +00:00
Steven Watanabe
4fbd8fa775 Pass the correct argument to make1breakcycle and make sure that we don't add a spurious self-dependency.
[SVN r78252]
2012-04-29 04:27:55 +00:00
Steven Watanabe
9e04ceafc3 Stop targets that depend on an include cycle from updating before all the required generated headers are built.
[SVN r78250]
2012-04-29 01:06:55 +00:00
Steven Watanabe
e6b3927ef3 Detect cycles created by rescanning.
[SVN r78249]
2012-04-28 22:05:28 +00:00
Steven Watanabe
52b16cdc4d Add test of rescanning for headers.
[SVN r78248]
2012-04-28 19:51:01 +00:00