2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-20 02:32:13 +00:00
Commit Graph

163 Commits

Author SHA1 Message Date
Jurko Gospodnetić
09dd885c97 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ć
2288f7133a 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ć
298c3d77f6 Internal Boost Build testing system cleanup - minor stylistic changes.
[SVN r79752]
2012-07-26 07:33:08 +00:00
Jurko Gospodnetić
b0057d31aa 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ć
3064f3e71e 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ć
34e5374b48 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ć
38342ac0d1 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ć
a0521fd576 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ć
4bad0ad847 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ć
f4dd360dd7 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ć
6ebe5f9cdb 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ć
a811156478 Minor stylistic internal Boost Build testing system changes.
[SVN r79474]
2012-07-13 18:30:09 +00:00
Jurko Gospodnetić
9950d2c670 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ć
f9c5030d40 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ć
ad7b601320 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ć
7c5dac15be Boost Build/Jam cleanup - stylistic code changes.
[SVN r79244]
2012-07-03 15:58:26 +00:00
Jurko Gospodnetić
3fc1d1dac3 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
Jurko Gospodnetić
fc9fe16e26 Minor stylistic change in the Boost Build testing framework.
[SVN r79171]
2012-06-29 18:18:28 +00:00
Jurko Gospodnetić
73ac2c3f92 Updated Boost Build's testing system to close its files explicitly after it is done with them instead of leaving that up to the Python garbage collector.
[SVN r79170]
2012-06-29 18:17:36 +00:00
Jurko Gospodnetić
7d0b8a5b2b Boost Build cleanup - minor stylistic changes & comment typo corrections.
[SVN r79166]
2012-06-29 17:59:49 +00:00
Jurko Gospodnetić
b2b495c285 Updated Boost Build's internal test system to not report an error as if it was not able to run the external diff tool when that tool returns 1 to indicate that the two files given to it are different.
[SVN r79037]
2012-06-23 23:16:01 +00:00
Jurko Gospodnetić
0561f77b48 Minor stylistic change in the Boost Build test system.
[SVN r79036]
2012-06-23 23:12:21 +00:00
Jurko Gospodnetić
5bce542c2c Minor stylistic changes in Boost Build tests.
[SVN r79035]
2012-06-23 23:07:29 +00:00
Jurko Gospodnetić
92bd9e3a71 Minor Boost Build test system Python code cleanup - removed unnecessary trailing semicolons.
[SVN r79003]
2012-06-19 10:08:33 +00:00
Jurko Gospodnetić
a2a8daaec6 Added support for explicitly failing Boost Build tests without displaying the changes caused by the last build command.
[SVN r79002]
2012-06-19 10:06:12 +00:00
Jurko Gospodnetić
11f7f0a621 Corrected a slight error reporting defect in the Boost Build's unit-testing system.
[SVN r78974]
2012-06-17 14:44:41 +00:00
Jurko Gospodnetić
0598997251 Corrected a bug in the Boost Build testing framework causing it to read file content with an additional newline character at the end when it already had one there instead of when it was missing.
[SVN r78968]
2012-06-16 02:29:36 +00:00
Jurko Gospodnetić
9b1c6f5a5e Comment typo correction.
[SVN r78967]
2012-06-16 02:27:03 +00:00
Jurko Gospodnetić
3447aae32b Cleaned up the Boost Build testing framework implementation a bit.
[SVN r78913]
2012-06-12 23:51:47 +00:00
Jurko Gospodnetić
9f42a0ed58 Minor sylistic changes - trimmed trailing spaces.
[SVN r78890]
2012-06-11 12:54:29 +00:00
Jurko Gospodnetić
357962c2f3 Cleaned up how Boost Build's test system reports unhandled exceptions. Now no longer uses deprecated global sys.exc_* variables and prints out the exception stack trace correctly.
[SVN r78889]
2012-06-11 12:53:54 +00:00
Steven Watanabe
d6b33546b7 Reduce pauses.
[SVN r77648]
2012-03-30 14:52:38 +00:00
Steven Watanabe
481bc03561 Integrate the tests in test/engine/ into the Python test scripts.
[SVN r75834]
2011-12-07 02:43:29 +00:00
Steven Watanabe
5a1aca95a5 Fix a few test problems on cygwin and mingw
[SVN r75737]
2011-11-30 00:03:54 +00:00
Vladimir Prus
bf49c738c0 Unbreak Boost.Build tests
[SVN r72883]
2011-07-03 21:05:59 +00:00
Vladimir Prus
add5bdf7e0 Port build/configure.jam.
Also allow to expose Python class to Jam, which fixes
tag.py and inline.py testcases.


[SVN r64610]
2010-08-05 06:22:58 +00:00
Vladimir Prus
6d9d4fcfce Port notfile.py. Attempt to clean the mess with decorating action names.
[SVN r64431]
2010-07-29 10:39:31 +00:00
Vladimir Prus
3744ff86cc Make test framework not crash when reading nonexistent file
[SVN r64353]
2010-07-26 09:20:54 +00:00
Vladimir Prus
77ee1e6c56 Major update of top level 'build_system.py' module.
[SVN r64351]
2010-07-26 08:28:12 +00:00
Vladimir Prus
b1641db9d0 When test fails and --preserve is set, also show the command line.
[SVN r64348]
2010-07-26 07:51:18 +00:00
Vladimir Prus
5356808752 Unbreak conditional requirements work.
[SVN r64305]
2010-07-23 15:08:14 +00:00
Vladimir Prus
e46cbd6a2f Fix search for Boost.Jam in Boost.Build testing
[SVN r64217]
2010-07-21 11:04:12 +00:00
Vladimir Prus
e7bf90f62a Don't check for non-existent paths
[SVN r63919]
2010-07-12 08:15:41 +00:00
Vladimir Prus
9c9c533b93 Fix detection of exit status. We use close on pipe to get return status
and if program does exit(1) we get '1'. The code for checking was
using os.WIFSIGNALLED, and that returns true for '1' -- it seems like
it is expecting result of os.system, which would be 256, or something.


[SVN r62634]
2010-06-09 07:09:29 +00:00
Vladimir Prus
5f5e7aa253 Ignore bin/config.log when testing
[SVN r60253]
2010-03-06 18:49:05 +00:00
Vladimir Prus
7f11155d06 Improve reporting of failed test due to unexpected changes.
[SVN r55220]
2009-07-28 07:11:09 +00:00
Vladimir Prus
04c42eea72 Properly report failures to add/remove/modify file.
[SVN r55152]
2009-07-25 06:47:43 +00:00
Vladimir Prus
7cb2facd25 Include annotations in test log
[SVN r50173]
2008-12-07 08:41:56 +00:00
Vladimir Prus
d437364357 Fix typo
[SVN r49785]
2008-11-16 12:46:11 +00:00
Jurko Gospodnetić
dbb6041bd0 Minor stylistic changes in the Boost Build internal unit testing implementation Python script.
[SVN r48647]
2008-09-07 08:36:03 +00:00