Commit Graph

1149 Commits

Author SHA1 Message Date
Reimar Döffinger
f4989237dc Add test for lzma.jam. 2018-01-15 20:24:57 +01:00
Reimar Döffinger
884f5c2b7c Add zstd.jam file.
Just a copy-paste of lzma.jam, except not introducing
the useless is-default option.
Will be used for zstd compression/decompression support
in iostreams (see also trac ticket #13356).
2018-01-15 20:10:05 +01:00
Steven Watanabe
94d2cfcdb7 Rename zlib.py to avoid conflict with the builtin zlib module in python 2.7.14. 2018-01-13 14:43:54 -07:00
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
Steven Watanabe
ae4e151967 Passing -a -n usually means that we just want to see all the commands. Actually re-running configuration checks just wastes time. 2018-01-12 16:03:57 -07:00
Steven Watanabe
ed37fd04af Merge regression.py, testing_support.py and test_result_dumping.py into testing.py. Also, make the tests from more systematic. 2018-01-12 15:45:20 -07:00
Steven Watanabe
79dd4a7292 The manpage type should not break shared libraries with a version suffix. 2018-01-12 09:56:18 -07:00
Steven Watanabe
05a7419969 Remove an evil hack. The comment explaining why it is necessary appears to be out-dated. 2018-01-11 15:26:28 -07:00
Steven Watanabe
f3133e945e Rework configuration file loading to be more consistent. Any configuration file can be set (or disabled) with --xxx-config=. --config= overrides all configuration files. 2018-01-11 13:57:53 -07:00
Steven Watanabe
e350366096 Add a Jamfile in the test directory which runs test_all.py. Refs #268.
* python.jam: Allow run-pyd to work with just a python script.
* BoostBuild.py: Adjust paths to work regardless of the current
  working directory.
2018-01-09 07:49:59 -07:00
Steven Watanabe
c4bfb6d2f7 Make mock-program compile in C++03 2018-01-08 19:15:46 -07:00
Steven Watanabe
6c5735a06d Add test for passing optional features on the command line. 2018-01-08 18:37:17 -07:00
Steven Watanabe
6244e5ad21 Add specific tests for the processing of properties on the command line.
* Fix problems in x-product that could make it return extra property-sets
  in complex cases.  Also clarify exactly what it is supposed to do.
* free_features_request.py: This is subsumed by the new test.
* direct_request_test.py: This is mostly subsumed by the new test
  except for the last test for chained build-projects, which doesn't
  make much sense in the current code base as build-project is implemented
  very differently.
* Document using / to separate properties.
2018-01-08 17:01:32 -07:00
Steven Watanabe
429081e45e expect_content inadvertently ignored the first element. 2018-01-08 15:56:53 -07:00
Steven Watanabe
e5d385d390 Rework handling of indirect conditionals.
* property-set now considers <conditional> to be conditional
* property.evaluate-conditionals-in-context now handles indirect
  conditionals as well.  This is the correct behavior for all places
  where evaluate-conditionals-in-context is currently used.
* Indirect conditionals now translate paths relative to the project
  in which they were defined, not relative to the current project.
* usage-requirements no longer use targets.evaluate-requirements,
  as the iterative algorithm is completely unnecessary (It's also
  wrong, since the new features shouldn't be applied to the evaluation
  context).
* indirect conditionals are removed from the property set when they
  are evaluated, just list regular conditionals.  (This is a consequence
  of passing them through evaluate-conditionals-in-context)
* This also allows non-free features in usage-requirements to "work" again
  (for some definition of work).
2018-01-06 16:01:36 -07:00
Steven Watanabe
15c876025a Make target requirements handle subfeatures and composites correctly
* feature.add-defaults: No longer accepts conditionals and returns
  expanded properties.  This matches the actual usage, and conditionals
  never really worked right anyway.
* property.refine: Remove subfeatures of removed features.
* Moved property-set expansion and adding defaults into
  targets.evaluate-requirements so that they correctly interact with
  the target requirements.
* Expand subfeatures when matching target alternatives.
* Non-property-specific subfeatures like <cxxstd>11-iso are expanded correctly.
2018-01-06 14:24:54 -07:00
Steven Watanabe
12decb3ce6 Rewrite gcc to use toolset.flags again. 2018-01-01 12:51:43 -07:00
Steven Watanabe
bf5db0d505 Remove old test name. 2017-12-30 12:19:47 -07:00
Steven Watanabe
44598b2107 Clean up test names. 2017-12-30 10:53:03 -07:00
Steven Watanabe
205146c15f Tests for clang-linux. 2017-12-29 12:32:58 -07:00
Steven Watanabe
dda019c9d9 Tests for intel-darwin. 2017-12-28 15:40:00 -07:00
Steven Watanabe
6ffd6b9c7a Add test for clang-darwin. 2017-12-27 13:30:23 -07:00
Steven Watanabe
53cf891d8a Add test for the darwin toolset. 2017-12-26 21:27:01 -07:00
Steven Watanabe
a84c6d4c0c Add gcc/target-os=darwin test. 2017-12-26 16:31:37 -07:00
Steven Watanabe
fa78d4fed7 Don't pass -d0, except for the tests that actually require it. Suppress global -d arguments for tests that check stdout or set -d explicitly. All tests now pass in verbose mode. 2017-12-26 13:25:40 -07:00
Steven Watanabe
b339e8df4b Fix property order. 2017-12-26 10:38:14 -07:00
Steven Watanabe
89b0e49d99 Adjust expected suffixes to work on OSX and windows for gcc.py. 2017-12-26 09:50:33 -07:00
Steven Watanabe
858ad964c9 Add a mock of gcc as a first step towards testing all toolsets. 2017-12-23 15:57:26 -07:00
Steven Watanabe
14d745d691 Localize changes to the environment, so that we don't break later tests run in the same process. 2017-12-21 15:55:23 -07:00
Steven Watanabe
6d7c0c752d Quote the name of the batch script so that it works when %TMP% contains a space. Fixes #274. 2017-12-21 15:16:45 -07:00
Steven Watanabe
f56035d11a Sync ac with configure. 2017-12-19 15:59:51 -07:00
Steven Watanabe
3ae87ff496 Add a new rule configure.choose that adds properties associated with the first target from a list that successfully builds. 2017-12-19 13:30:09 -07:00
Steven Watanabe
0388086b3f Limit --remove-test-targets to the targets generated by the test case. This makes it safe to share object files and executables between test cases. 2017-12-18 15:51:49 -07:00
Steven Watanabe
6fce57e7da Make sure that we can always detect touched files even if we didn't wait for any other reason. 2017-12-18 11:20:44 -07:00
Steven Watanabe
bb300dac25 Make test_all.py print more information on failure. 2017-12-16 16:11:39 -07:00
Steven Watanabe
a96e3fcbc5 ignore doesn't handle . 2017-12-16 15:05:46 -07:00
Steven Watanabe
ff10c58b99 Fix Windows tests. 2017-12-16 13:16:21 -07:00
Steven Watanabe
ff8709997e Fix new tests for Windows, matching 40e7f0e8dd 2017-12-15 16:00:32 -07:00
Steven Watanabe
e31489760c breakpoints should work even if they're hit repeatedly. 2017-12-15 15:15:54 -07:00
Steven Watanabe
b000980cd3 Make the caching of symlink/hardlink/junction detection more consistent. 2017-12-12 12:18:52 -07:00
Steven Watanabe
8cfe656d86 Fix rebuilding of configure checks with --reconfigure or -a. 2017-12-12 12:18:02 -07:00
Steven Watanabe
d81254cba0 Fix link-fail on Windows, Take 2. FAIL_EXPECTED now works correctly for targets that have multiple updating actions. Fixes #259. 2017-12-12 09:59:21 -07:00
Steven Watanabe
4269c9e663 Revert "Fix link-fail on Windows. FAIL_EXPECTED now works correctly for targets that have multiple updating actions. Fixes #259."
This reverts commit 0c3089d3c0.
2017-12-06 08:59:17 -07:00
Steven Watanabe
0c3089d3c0 Fix link-fail on Windows. FAIL_EXPECTED now works correctly for targets that have multiple updating actions. Fixes #259. 2017-12-04 17:54:49 -07:00
Steven Watanabe
50f13ef34a jpeglib.h requires stdio.h to be included first. 2017-11-24 16:31:51 -07:00
Steven Watanabe
79a8a04d68 Adjust jpeg test to make it pass and add it to the global list of tests. 2017-11-24 14:03:23 -07:00
Rene Rivera
c2d605110f Support for asciidoctor tool to process asciidoc documents. 2017-10-19 08:24:22 -05:00
Rene Rivera
73f3b7c5e7 Fix to ignore extra junk files on OSX under all contexts. 2017-07-04 22:22:52 -05: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
Rene Rivera
95f62c996c Replace all uses of os.name with proper target-os declarations.
Make gcc almost fully work on OSX and adjust clang toolsets to deal with
gcc changes. Adjust test framework to deal with gcc running on OSX for
the first time.
2017-06-19 18:55:28 -05:00
Rene Rivera
a025064fa1 Fix prebuilt test to not rely on toolset name on OSX. 2017-06-15 09:06:11 -05:00
Edward Diener
c6b219507a Merge branch 'vmrob-fix-eol-stripping' into develop 2017-05-08 23:00:14 -04:00
Edward Diener
f11d57f633 Fixed the tests for Windows when 'echo' is involved. 2017-05-08 13:12:27 -04:00
Steven Watanabe
68d3b9721f Fix test pattern on Windows. 2017-05-02 17:27:44 -06:00
Steven Watanabe
4aa88f9d5d Merge branch 'debug' into develop 2017-05-02 16:03:45 -06:00
Edward Diener
b8b2b8a3a4 Merge branch 'fix-eol-stripping' of https://github.com/vmrob/build into vmrob-fix-eol-stripping 2017-05-02 07:44:15 -04:00
Steven Watanabe
540c6bdbe7 Fix test/link.py on windows. The problem is a result of the fact that stat on Windows behaves like lstat, which causes changes to be reported when a link is updated. Fixes #185. 2017-04-26 14:54:03 -06:00
Steven Watanabe
80c0f5f8d2 Tests for MI. 2017-03-30 13:24:09 -06:00
Arkadiy Shapkin
2c46d25536 "core-language" test fixed for Windows 10 2017-03-19 19:50:52 +08:00
Steven Watanabe
27ec3bf2d8 Add documentation and test error conditions. 2017-03-09 12:16:30 -07:00
Steven Watanabe
8f92b128bd Get mi working again. Improve tests and error handling. 2017-03-06 17:48:37 -07:00
Steven Watanabe
6f5522aaa5 Merge branch 'develop' into debug
Conflicts:
	src/engine/function.c
	src/engine/scan.h
2017-03-01 09:50:57 -07:00
Victor Robertson
851c19fa6b
Fix strip-eol for long command output
Previously, when shell command output exceeded the 1024 character
buffer size, each chunk of output would be stripped. This had the
undesirable effect of sometimes breaking compilation by splitting on
whitespace boundaries. This patch addresses the issue by providing a
string_rtrim function and utilizing the function on the output string
instead of each buffered component.
2016-11-04 16:30:44 -07:00
Aaron Boman
cf04401049 Fix test_rc for Py26 tests. 2016-10-27 20:22:06 -05:00
Aaron Boman
1a51b6aa07 Fix dependency_property test. 2016-10-27 20:22:05 -05:00
Aaron Boman
5369b25498 Partially fix test_rc. 2016-10-27 20:22:05 -05:00
Aaron Boman
0490f58071 Fix source_order test 2016-10-27 20:22:05 -05:00
Aaron Boman
db45f34192 Fix scanner_causing_rebuilds test 2016-10-27 20:22:04 -05:00
Aaron Boman
0ef26673c5 Fix inherit_toolset test. 2016-10-27 20:22:04 -05:00
Aaron Boman
1bd0eab600 Enable type checking for Python tests. 2016-10-27 20:22:03 -05:00
Aaron Boman
f993e75a7f Fix conditionals_multiple test. 2016-10-27 20:22:02 -05:00
Aaron Boman
0055072ad6 Support passing --stacktrace to tests. 2016-10-27 20:21:59 -05:00
Rene Rivera
895196b739 Fix time data test for added clock field. 2016-10-12 08:50:23 -05:00
Steven Watanabe
c7b2c57e79 Start testing mi. 2016-03-10 12:49:57 -07:00
Steven Watanabe
2564ce1853 Add test for print. 2016-03-09 15:33:31 -07:00
Steven Watanabe
e2d07ad6db Make sure that source files end with a newline. 2016-03-01 12:48:38 -07:00
Steven Watanabe
7a59e03049 Fix test on windows. We shouldn't assume that W32_GETREGNAMES returns its results in any particular order. 2016-03-01 10:44:56 -07:00
Jürgen Hunold
4c546c3c15 Add support for more Qt libraries
- QtDataVisualization
- QtSerialPort
- QtWebChannel
- QtWebSockets
- QtPurchasing
- WebEngine (QtWebengine and QtWebengineWidgets)
- Connectivity (QtBluetooth and QtNfc)
- QtGamepad
- QtScxml
- QtSerialBus
2016-02-28 17:09:32 +01:00
Steven Watanabe
2326cfe458 Finish porting tests to the new utility rule. 2016-02-22 19:34:34 -07:00
Steven Watanabe
1c86c4868e Tests for backtrace. Also add a simple utility to make these tests easier to read. 2016-02-22 12:59:06 -07:00
Steven Watanabe
7d7de34346 More testing. Fix some issues exposed by the new tests. 2016-02-20 18:30:55 -07:00
Steven Watanabe
e9db80896f Merge remote-tracking branch 'origin/develop' into debug
Conflicts:
	src/engine/builtins.c
	src/engine/builtins.h
	src/engine/function.c
	src/engine/jam.c
2016-02-19 12:02:22 -07:00
Steven Watanabe
51a9304c24 Start making tests more systematic. 2016-02-18 12:24:37 -07:00
Steven Watanabe
2a5032261f Get backtrace working and add some more tests. 2016-02-17 10:30:48 -07:00
Steven Watanabe
5424ef24d4 Add tests and get break output to work in console mode. 2016-02-16 14:35:31 -07:00
Jürgen Hunold
54cfd5115c Support for upcoming QtCharts and Qt3D libraries 2016-02-11 16:44:30 +01:00
Jürgen Hunold
8dfda383ed Ignore bin directory created by running the tests 2016-02-11 16:02:57 +01:00
Jürgen Hunold
e616a56d55 Finally adapt to Boost.Test changes in 1.59.0 2016-02-11 16:02:38 +01:00
Vladimir Prus
7c5b4a4c9b Disable library_order test for now. 2016-02-04 03:24:35 -05:00
Vladimir Prus
e891e4b76c Run Boost.Build tests via Travis CI.
Merge from branch 'develop-travis-ci-python-tests' of https://github.com/tee3/build
2016-02-04 03:13:05 -05:00
Vladimir Prus
99b4b805a8 Revive path_features.py.
Relative imports no longer generate relative module names.
2016-02-01 02:37:21 -05:00
Thomas Brown
4d7edbdd53 test: Exit unsuccessful with failures. 2016-01-03 22:30:42 -05:00
Vladimir Prus
4a5cf7f909 OpenVMS support.
See https://github.com/boostorg/build/pull/100
2015-12-14 02:46:44 -05:00
loonycyborg
2d3c5bd16d Added regression test for bzip2 tool 2015-12-14 02:32:49 -05:00
Artur Shepilko
c1de12e683 Add toolset vmsdecc for HP DECC/C++ on VMS. 2015-10-24 12:21:33 -05:00
Artur Shepilko
63021f6d64 Add GLOB_ARCHIVE builtin. 2015-10-24 12:21:31 -05:00
Aaron Boman
5843dec89c Expand command line properties as late as possible 2015-10-13 02:59:20 -04:00
Curt Moore
04c2c48ea1 Whitespace cleanup. 2015-09-17 10:24:07 +03:00
Jürgen Hunold
a8cd115cc3 Add support for QtLocation and QtPositioning libraries.
Both are tech preview in 5.4 and officially supported in 5.5
2015-06-05 10:06:52 +02:00
Steven Watanabe
ae1183ee2d Return really returns now. Also implement break/continue. 2015-04-18 14:30:43 -06:00