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
a4962133a0
Kill code that has no effect because it accesses a non-existent variable. This is already handled elsewhere.
2018-01-06 13:55:05 -07:00
Steven Watanabe
a3caa57af3
Clean up library modules. feature.get-values is nicer than property.select + G=.
2018-01-04 12:37:32 -07:00
Steven Watanabe
a0dbab8c78
Fix handling of implicit-dependency in xsltproc. Previously, <dependency> was necessary because the include scanner was not set up correctly.
2018-01-04 09:22:30 -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
61989801ca
Unduplicate options. Allow ranlib and ar to be set, to make mocking easier. Fix condition for setting linker-type.
2017-12-30 10:58:14 -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
0c2f6ba03f
Finally kill flavor as a gcc subfeature. Adjust check for cygwin.
2017-12-26 10:51:30 -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
Peter Dimov
c91455ff75
Add xcode 8, 7.3, 6.4 to Travis ( #275 )
...
* Add xcode 8, 7.3, 6.4 to Travis
* Add xcode 9.x, linux precise to Travis; restrict branches
* Restrict branches in Appveyor, too
2017-12-23 11:13:41 -06:00
Steven Watanabe
c594b12b13
Adjust check for using clock_gettime.
2017-12-23 09:47:32 -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
d2b64dc55d
Fix crash in the debugger's backtrace when a built-in function is on the stack.
2017-12-20 15:33:01 -07:00
Steven Watanabe
df321f5a3a
Fix python tests.
2017-12-19 21:52:08 -07:00
Steven Watanabe
65cd9ce416
Fix stupid mistake. (On the bright side, the code works anyway.)
2017-12-19 17:05:24 -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
8aa702aaf4
Try to fix the build for older versions of XCode.
2017-12-19 10:27:31 -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
0c6d0165b0
Support nanosecond timestamp resolution for posix.
2017-12-18 13:09:07 -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
5391e53038
Clear the current project after configuring a toolset from the command line.
2017-12-18 10:13:25 -07:00
Steven Watanabe
bb300dac25
Make test_all.py print more information on failure.
2017-12-16 16:11:39 -07:00
Steven Watanabe
6c3397fac8
Fix crash when calling a member function that doesn't exist. Fixes #260 .
2017-12-16 15:19:00 -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
4d58880c20
Move the msvc setup scripts from TEMP into the build directory. They are created as virtual-targets, so --clean-all should work as well. The scripts will also be auto-updated if their timestamps are older than the originals. Refs #257 .
2017-12-16 12:15:45 -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
7369dd2631
Use the right setup scripts for several tools. Previously, the first setup script processed would be applied unconditionally, because api was not defined which leaves the condition blank, and later setup scripts would be applied to winapi=phone, because api was not properly localized.
2017-12-14 12:26:24 -07:00
Steven Watanabe
dbff38df17
Subfeature expansion should not strip trailing dashes. This was caused by the fact that a list containing only empty strings is evaluated as false, thus causing the while loop to terminate prematurely. Fixes #207 .
2017-12-14 10:21:05 -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