Rene Rivera
4348970fc8
Fix unit tests to account for -j default.
2019-06-03 22:02:40 -05:00
Rene Rivera
3549a4d5da
MinGW passes all tests.
2019-04-02 00:09:54 -05:00
Rene Rivera
85e5a2caa8
Port b2 tests to dual py2 and py3.
...
Now that the tests work in py2 or p3 we don't set py version in AP. This
allows for dealing with the AP images that don't have a way to set the
py version.
2019-03-31 15:37:03 -05:00
Rene Rivera
698aac70d5
Minimal changes to compile with C++.
...
These are some minimal changes to compile with C++. Here begins
the road to rewriting the bjam engine in C++. So far this is only built
and tested with XCode clang on OSX.
2018-10-20 17:36:10 -05:00
luzpaz
a2b8731d2a
build: misc.typos ( #341 )
...
* build: misc.typos
Found via `codespell -q 3 --skip="./src/engine/boehm_gc" -L te,iff`
* Revert 3rdParty code changes
2018-09-26 09:54:06 -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
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
429081e45e
expect_content inadvertently ignored the first element.
2018-01-08 15:56:53 -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
89b0e49d99
Adjust expected suffixes to work on OSX and windows for gcc.py.
2017-12-26 09:50:33 -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
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
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
Steven Watanabe
80c0f5f8d2
Tests for MI.
2017-03-30 13:24:09 -06:00
Aaron Boman
1bd0eab600
Enable type checking for Python tests.
2016-10-27 20:22:03 -05:00
Aaron Boman
0055072ad6
Support passing --stacktrace to tests.
2016-10-27 20:21:59 -05:00
Rene Rivera
856e7e9f33
Fix detection of built-in bjam/b2 exec on Darwin when running on modern
...
x86_64 machines.
2015-04-10 08:24:05 -05:00
Vladimir Prus
5d8dd4c4a6
Adjust relative paths to match git rewritten history.
2013-12-14 21:28:49 +04:00
Steven Watanabe
f75b63a62b
Try to fix path handling for the Jam executable.
...
[SVN r83836]
2013-04-10 20:38:21 +00:00
Steven Watanabe
34f34e5436
Implement caching for configuration checks.
...
[SVN r83781]
2013-04-06 21:40:55 +00:00
Jurko Gospodnetić
cac4b6b2e4
Internal Boost Build testing framework cleanup - expecting output/content lines now correctly interprets requests with lines given as a container of strings.
...
Given strings represent expected continuous line sequences (separated by \n) and extra lines are allowed between content represented by different successive strings. For example, lines = ['foo\nbar', 'baz'] would match:
aaa
foo
bar
bbb
baz
ccc
but would not match:
aaa
foo
xxx
bar
bbb
baz
ccc
Added a description comment for the related Tester.__expect_lines() implementation function.
[SVN r80088]
2012-08-20 10:08:28 +00:00
Jurko Gospodnetić
a2413be235
Restored old Boost Jam '-v' version information screen to what it was like before revision [79779] as requested by Steven Watanabe. Boost Jam now reports its minimum supported path modification timestamp resolution using a new builtin JAM_TIMESTAMP_RESOLUTION variable. Updated Boost Build's internal testing system to correctly fetch this Boost Jam version information.
...
[SVN r79880]
2012-08-05 18:31:19 +00:00
Jurko Gospodnetić
54515f44ec
Updated the internal Boost Build testing framework to work correctly with older Boost Jam releases that did not report their minimum supported path modification timestamp resolution and did not support path modification timestamp resolutions finer than 1 second.
...
[SVN r79831]
2012-08-01 11:41:39 +00:00
Jurko Gospodnetić
e7f4639032
Updated Boost Build's internal testing system to reduce wait times between successive build system runs depending on the supported path modification timestamp resolution. This reduces the total time needed to run the current test suite on one Windows PC from cca. 8 to cca. 6 minutes.
...
Additional consequences:
* Makes the test system work correctly even should it ever be run with files stored on different file systems with different supported minimal path modification timestamp resolutions, e.g. NTFS (<1 ms) & FAT (2 sec).
* When requesting a new file to be written with a large enough file modification timestamp, any missing folders created in the process are created with large enough modification timestamp as well.
* Source paths with modification timestamps set too far in the future will now be reported as test environment errors instead of causing the test system to wait for some possibly long (all internal sleeps now limited to 5 seconds).
[SVN r79830]
2012-08-01 10:42:57 +00:00
Jurko Gospodnetić
108a8d05f6
Internal Boost Build testing system cleanup - removed an unused BoostBuild.Tester.mul() member function.
...
[SVN r79826]
2012-08-01 08:36:29 +00:00
Jurko Gospodnetić
a5287879b7
Internal Boost Build testing system cleanup - minor stylistic changes.
...
[SVN r79819]
2012-07-31 13:46:04 +00:00
Jurko Gospodnetić
7ea2636ad6
Internal Boost Build testing system cleanup - stopped using the deprecated indexed stat structure access and replaced it with respective member access.
...
[SVN r79787]
2012-07-28 14:18:21 +00:00
Jurko Gospodnetić
e68787e3e8
Internal Boost Build testing system cleanup - removed a never used BoostBuild.Tester.rename() member function.
...
[SVN r79785]
2012-07-28 14:14:10 +00:00
Jurko Gospodnetić
d1aed27ea9
Internal Boost Build testing system cleanup - minor stylistic changes.
...
[SVN r79781]
2012-07-28 09:33:03 +00:00
Jurko Gospodnetić
1fb0b6d0e4
Updated the internal Boost Build testing system's file system - now more precisely tracks the largest file modification timestamp assigned by a test build run, corrected several invalid or outdated comments, file & folder tree modeling structure's root nodes now hold correct directory name information, minor stylistic changes.
...
[SVN r79775]
2012-07-27 23:41:25 +00:00
Jurko Gospodnetić
361316dadf
Refactored internal Boost Build testing system's file system content modeling tree data structure. Used to be based on some old svn_tree.py Subversion project source code. Now unused parts removed and the svn_tree.py module merged into tree.py. Trees_difference class renamed to TreeDifference and corresponding factory function to tree_difference. Now correctly recognizes and reports files being converted to folders and vice versa.
...
[SVN r79773]
2012-07-27 22:40:48 +00:00
Jurko Gospodnetić
1b4017c2d9
Internal Boost Build testing system no longer assumes that the current time is equal to the current file modification timestamp.
...
[SVN r79754]
2012-07-26 11:39:42 +00:00
Jurko Gospodnetić
328ef28616
Internal Boost Build testing system cleanup - minor stylistic changes.
...
[SVN r79752]
2012-07-26 07:33:08 +00:00
Jurko Gospodnetić
35bac5b777
Made Boost Build's internal testing system's file stat() calls report timestamps with greater than 1-second precision if Python/OS/file-system support it even on Python versions prior to 2.5 where this became the default.
...
[SVN r79740]
2012-07-25 08:03:36 +00:00
Jurko Gospodnetić
8e29fa56a3
Split internal Boost Build testing system's Tester.wait_for_time_change_since_last_build() operation into Tester.wait_for_time_change_since_last_build() and Tester.wait_for_time_change() to allow test code to wait for a timestamp changes unrelated to the last build run.
...
[SVN r79736]
2012-07-25 07:10:22 +00:00
Jurko Gospodnetić
f951fb1559
Updated Boost Build's internal testing system to allow for more detailed output and file content line testing - can now test for multiple lines in sequence, with or without having other lines in between.
...
[SVN r79701]
2012-07-23 18:10:36 +00:00
Jurko Gospodnetić
9076cd1e0a
Reduced the time internal Boost Build testing system needs to wait after a build system test run to be sure that file touch/write operations bump up their target file's modification timestamps enough for the next build system test run to correctly recognize them as modified. Better commented related code.
...
[SVN r79699]
2012-07-23 17:19:01 +00:00
Jurko Gospodnetić
5522e70bd8
Boost Build internal testing framework cleanup - minor stylistic changes (Python string literal quoting, line wrapping, trailing spaces, updated expected output line leading & trailing spaces to match the actual output).
...
[SVN r79698]
2012-07-23 16:54:18 +00:00
Jurko Gospodnetić
f9e355ede9
Updated the internal Boost Build testing framework to support writing or touching files in its test folder without waiting for a timestamp change from a previous build run. This should allow tweaking the tests to run with a bit less delay (up to 2s as currently implemented) between test runs where possible.
...
[SVN r79628]
2012-07-20 19:06:07 +00:00
Jurko Gospodnetić
e85732818d
Corrected internal Boost Build testing framework bug causing it to report detected filesystem changes from a previous instead of the failed test run when the failure was caused by an unexpected exit code, unexpected stderr content, unexpected stdout content or exceeded maximal test duration.
...
[SVN r79597]
2012-07-19 10:16:41 +00:00
Jurko Gospodnetić
8bc155d307
Boost Build testing system cleanup - separated the concept of the 'time when a test run finished' from 'highest timestamp assigned by a test run'. This is a tiny preparation step towards making Boost Build support timestamp resolutions finer than 1 second.
...
[SVN r79475]
2012-07-13 18:43:18 +00:00
Jurko Gospodnetić
740cb760de
Minor stylistic internal Boost Build testing system changes.
...
[SVN r79474]
2012-07-13 18:30:09 +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
Jurko Gospodnetić
b9ed6db9e3
Updated the documentation comment for Boost Build testing system's BoostBuild.Tester constructor with information on its pass_d0 parameter.
...
[SVN r79257]
2012-07-04 09:13:41 +00:00
Jurko Gospodnetić
1791d078cc
Boost Build/Jam cleanup - stylistic code changes.
...
[SVN r79244]
2012-07-03 15:58:26 +00:00
Jurko Gospodnetić
c48a0c9ddc
Fixed a Boost Build testing framework bug causing occasional & sporadic failures when you have one test build run making some changes, then another making no changes and then try to wait for the clock ticker to change enough to make newly touched or created files newer than the ones already existing on the system. In those cases the second test build run would clear the 'last build finished' timestamp and newly touched files might end up with the last modification timestamp equal to those already existing in the system. Also removed unnecessary wait_for_time_change_since_last_build() calls in BoostBuild.Tester.copy() and BoostBuild.Tester.rm().
...
[SVN r79173]
2012-06-29 18:24:52 +00:00