Commit Graph

1149 Commits

Author SHA1 Message Date
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
Takeshi Abe
141801e33e Typo: supress -> suppress 2015-04-01 12:37:18 +03:00
Steven Watanabe
30d35ce80d Make order stable. This restores the old behavior of printing includes in alphabetical order. When I added the topological sort for includes, it caused directories with no constraints to be printed in reverse alphabetical order under some circumstances. This broke existing users who relied on the original order. While I believe that users should not depend on any order for include directories that is not explicitly stated, I'd rather not gratuitously break such uses. This is especially true since explicitly ordered includes only worked in the simplest cases prior to my topological sort patch. 2015-02-28 14:16:34 -07:00
Steven Watanabe
89d6d77396 Issue an error when a file is linked from more than one source directory. 2015-02-26 10:15:32 -07:00
Steven Watanabe
2520b6c1bf Make sure that files and directories under a deleted symlink are restored if needed. 2015-02-25 20:22:56 -07:00
Steven Watanabe
25899a8073 Fix some problems when splitting a linked directory. This can show up when adding a new library. The bug was order-dependent and didn't appear in the original tests. 2015-02-24 13:37:53 -07:00
Steven Watanabe
52f7ac2c65 Make sure that symlinks are updated when switching from a non-symlink configuration. Add tests for every possible combination of configuration switching. 2015-02-24 12:55:36 -07:00
Vladimir Prus
67df2c5809 Update expected error message wording. 2014-10-03 16:59:58 +04:00
Jürgen Hunold
cb0a9660f6 make qt5 rcc testcase use Qt5Core 2014-06-13 19:20:23 +02:00
Jürgen Hunold
70d1bbde74 adjust paths to modular layout 2014-06-13 19:19:38 +02:00
Steven Watanabe
d782ec52d0 Don't exit immediately on Windows if JAMSHELL is % and CreateProcess fails. 2014-04-03 14:13:33 -07:00
Steven Watanabe
290e284ffe topological sort ordered includes. 2014-04-01 13:12:17 -07:00
Steven Watanabe
5c1a97b928 cxxflags should not apply to C files. Fixes #9815. 2014-03-28 15:46:26 -07:00
Steven Watanabe
6f709a2706 Attempt to fix source_order.py on Windows. 2014-03-26 16:43:47 -07:00
Steven Watanabe
e8c4dd3366 prebuilt.py needs to treat clang-darwin the same way as darwin. 2014-03-26 14:52:30 -07:00
Steven Watanabe
9732c695d1 Fix bug in pathnt.c that caused the results of GLOB to be downcased under some circumstances. 2014-03-24 15:18:37 -07:00
Steven Watanabe
27d418a53e Add toolset_requirements.py to the test suite. 2014-03-12 12:09:30 -07:00
Steven Watanabe
b869e58fa0 Fix broken toolset.add-requirements. 2014-03-06 08:14:17 -08:00
Steven Watanabe
80acd48dd4 Update test to match source change. 2014-02-04 18:41:34 -08:00
Vladimir Prus
4833fc7336 Add Python port test results.
Storing those in git is not perfect, but we need to have
baseline results known, and it's the easiest approach.
2014-01-15 22:49:26 +04:00
Vladimir Prus
5d8dd4c4a6 Adjust relative paths to match git rewritten history. 2013-12-14 21:28:49 +04:00
Steven Watanabe
6ec96c4d56 Avoid sorting the sources of composing generators.
[SVN r86767]
2013-11-19 17:30:34 +00:00
Steven Watanabe
69c7b06c70 Add tests for link.jam. Fix timestamp/dependency problem that made symlinks cause unnecessary rebuilds on Windows.
[SVN r86709]
2013-11-14 23:24:50 +00:00
Steven Watanabe
c1395b4961 Make the handling of actions that produce multiple targets more correct.
[SVN r86561]
2013-11-04 22:35:14 +00:00
Jürgen Hunold
f6fc8eb665 use the offscreen plugin for gui testing
[SVN r86048]
2013-09-30 05:44:38 +00:00
Christian Henning
885f3fc00e some test modules for libjpeg and libtiff.
[SVN r84665]
2013-06-07 00:23:18 +00:00
Steven Watanabe
df2b34d63c Initial supprort for creating symlinks in the git layout.
[SVN r84524]
2013-05-27 00:02:43 +00:00
Christian Henning
1138feb932 libpng mock test.
[SVN r84498]
2013-05-25 15:54:54 +00:00
Steven Watanabe
061f998f43 Optimize member function calls to use less string manipulation.
[SVN r83937]
2013-04-16 23:54:54 +00:00
Steven Watanabe
37e8ad4922 Don't let python write .pyc files. They might not be updated, if the test runs too fast.
[SVN r83923]
2013-04-16 01:29:09 +00:00
Steven Watanabe
5a3c570eda Add extra debug information with --verbose.
[SVN r83916]
2013-04-15 16:30:23 +00:00
Steven Watanabe
b71dc6d386 Fix .obj extension on msvc.
[SVN r83887]
2013-04-13 22:53:06 +00:00
Steven Watanabe
b99c32cbed Fix file extension handling on Windows.
[SVN r83885]
2013-04-13 22:19:00 +00:00
Steven Watanabe
64b8542700 Make sure that we get the long path form of the cwd so that path comparison works correctly.
[SVN r83884]
2013-04-13 22:01:36 +00:00
Steven Watanabe
132c0faa2c Really fix test.
[SVN r83880]
2013-04-13 18:34:32 +00:00
Steven Watanabe
efbd669671 Add a few more cases.
[SVN r83875]
2013-04-13 16:55:17 +00: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
62b79b8ebe Special case for $(x:G)
[SVN r83812]
2013-04-08 17:40:28 +00:00
Steven Watanabe
19540a5426 Try to make path comparison work on Windows.
[SVN r83810]
2013-04-08 15:27:40 +00:00
Steven Watanabe
24c0086bdc Fix extension handling.
[SVN r83802]
2013-04-07 22:21:33 +00:00
Steven Watanabe
ec9ad613c4 Disable all configuration files.
[SVN r83801]
2013-04-07 22:16:45 +00:00
Steven Watanabe
34f34e5436 Implement caching for configuration checks.
[SVN r83781]
2013-04-06 21:40:55 +00:00
Steven Watanabe
813552d5ce Fix the return status when updating targets that have failed in a prior call to UPDATE_NOW.
[SVN r83778]
2013-04-06 17:18:20 +00:00
Steven Watanabe
4fcd90347e Add test with explicit name/search/include.
[SVN r83774]
2013-04-06 02:11:29 +00:00
Steven Watanabe
259b0c5a6f Initial tests for zlib configuration.
[SVN r83773]
2013-04-06 01:32:36 +00:00
Steven Watanabe
94de4748d9 Don't reset -q after calling UPDATE_NOW with ignore-minus-n
[SVN r83629]
2013-03-29 15:41:19 +00: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
Jürgen Hunold
ff802ac430 Fix QtTest test
[SVN r82655]
2013-01-28 08:54:39 +00:00
Jürgen Hunold
cf6c57588b Add support for QtWebkitWidgets. Fixes #7920
Thanks to Frank Richter for the patch.

[SVN r82654]
2013-01-28 08:54:26 +00:00
Jürgen Hunold
4cb47ecdc0 Start Qt5 support
[SVN r82033]
2012-12-16 20:48:35 +00:00
Jürgen Hunold
4fa430eae5 Add <rccflags> to qt4.jam. Fixes #7576
Thanks to Frank Richter for the initial patch and documentation.

[SVN r81689]
2012-12-03 08:28:09 +00:00
Steven Watanabe
da7ae0d449 Add test for message.jam
[SVN r80981]
2012-10-13 21:58:54 +00:00
Jurko Gospodnetić
7b9e374c83 Boost Build cleanup - minor stylistic changes.
[SVN r80327]
2012-08-31 05:32:49 +00:00
Jurko Gospodnetić
f06afd96e1 Corrected Boost Build's internal project_id.py test to pass on Cygwin. Added related FIXME comments to make the test more detailed on Cygwin in the future.
[SVN r80095]
2012-08-20 13:07:09 +00:00
Jurko Gospodnetić
a1b30c4df6 Internal Boost Build unused.py test cleanup - corrected a buggy check for target's usage reguirements being propagated even when it generates no virtual targets, inlined all the used test code into the test script so it no longer relies on any external files, now reporting more detailed compiler error messages in case of a failed compilation test without having to explicitly specify the --verbose command-line option.
[SVN r80093]
2012-08-20 12:29:36 +00:00
Jurko Gospodnetić
c538d59bc4 Minor stylistic copyright comment change.
[SVN r80091]
2012-08-20 11:45:09 +00:00
Jurko Gospodnetić
ae9a213fea Boost Build's internal module_actions.py test updated to pass when run with the --verbose option by allowing extra output lines between those expected by the test itself.
[SVN r80090]
2012-08-20 11:34:27 +00:00
Jurko Gospodnetić
e48de377ff Internal Boost Build module_actions.py test cleanup - no longer depends on externally prepared data, minor stylistic changes.
[SVN r80089]
2012-08-20 11:32:14 +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ć
b680388a33 Made Boost Build's internal project_id.py test more detailed regarding registering the same project id for the same project, but with the project module specified in different ways.
[SVN r80087]
2012-08-19 18:46:14 +00:00
Jurko Gospodnetić
618e33fcc8 Made Boost Build's internal project_id.py test more detailed regarding registering the same project id for the same project, but with the project module specified in different ways.
[SVN r80085]
2012-08-19 17:48:44 +00:00
Jurko Gospodnetić
acce9eb49b Internal Boost Build testing system cleanup - minor stylistic change.
[SVN r80084]
2012-08-19 17:03:11 +00:00
Jurko Gospodnetić
157384906d Internal Boost Build resolution.py test cleanup - minor stylistic change.
[SVN r80020]
2012-08-14 04:48:11 +00:00
Jurko Gospodnetić
0c32720912 Cleaned up internal Boost Build dependency_test.py test - made the test script create all of its needed test project files at run-time instead of having them maintained as actual Boost Build project files.
[SVN r80013]
2012-08-13 18:16:14 +00:00
Jurko Gospodnetić
7563ac7877 Internal Boost Build dependency_test.py test cleanup - removed some old and no longer relevant comments (from the time before the <dependency> feature got renamed to <implicit-dependency>), better commented the <implicit-dependency> feature usage, removed redundant ignoring of *.tds Borland debugger symbol files (already done internally in the BoostBuild.py testing system implementation module), minor stylistic changes.
[SVN r80012]
2012-08-13 17:55:20 +00:00
Jurko Gospodnetić
66a9427409 Corrected the internal Boost Build project_id.py test to pass with the latest changes made in the project.py module.
[SVN r80004]
2012-08-13 14:22:02 +00:00
Jurko Gospodnetić
c41cce76fb Simplified Boost Build's internal project_id.py test a bit.
[SVN r79940]
2012-08-08 22:50:42 +00:00
Jurko Gospodnetić
654b8e6a9a Added a new internal Boost Build test checking Boost Build's project id handling.
[SVN r79939]
2012-08-08 22:29:29 +00:00
Jurko Gospodnetić
93c0e2c9b4 Intenral Boost Build testing system cleanup - minor stylistic change.
[SVN r79938]
2012-08-08 22:20:10 +00:00
Jurko Gospodnetić
bd3638395a Boost Build cleanup - minor stylistic changes.
[SVN r79935]
2012-08-08 19:35:21 +00:00
Jurko Gospodnetić
32a4f35669 Cleaned up the 'unused' abs_workdir.py internal Boost Build test a bit. Added related embedded TODO comments.
[SVN r79903]
2012-08-07 12:22:24 +00:00
Jurko Gospodnetić
41ca167bb0 Internal Boost Build path_features.py test cleanup - minor stylistic changes.
[SVN r79883]
2012-08-05 19:45:28 +00:00
Jurko Gospodnetić
f1c1939de6 Corrected the internal Boost Build path_features.py test to not fail in case the used compiler does not modify any bytes in one of the recompiled .obj files and only updates its timestamp, as msvc occasionally does.
[SVN r79882]
2012-08-05 19:39:21 +00:00
Jurko Gospodnetić
dade55458e Updated Boost Build's internal collect_debug_info.py test to collect additional Boost Jam version information - OS name and the minimum supported path modification timestamp.
[SVN r79881]
2012-08-05 18:32:38 +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ć
b15f9a1a62 Made Boost Build clear its 'current project' reference after it is done with loading project modules. Any request for the 'current project' reference when there is no project module currently being loaded will now be treated as an error. Updated the related indirect_conditional.py internal Boost Build test case accordingly.
Additional implementation notes:
  - internal worker project.load-jamfile() rule now resets the current project when done
  - project.use() no longer needs to reset the current project since project.load-jamfile() does that now

[SVN r79874]
2012-08-05 15:12:58 +00:00
Jurko Gospodnetić
81d19ead3d Boost Build cleanup - minor stylistic changes.
[SVN r79865]
2012-08-04 22:40:25 +00:00
Jurko Gospodnetić
59b1c674f4 Internal Boost Build project_root_constants.py test cleanup - minor stylistic changes + better implemented output content tests to display more detailed information on failure.
[SVN r79864]
2012-08-04 22:13:35 +00:00
Jurko Gospodnetić
aaa350a78d Boost Build cleanup - minor stylistic changes.
[SVN r79862]
2012-08-04 11:34:31 +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ć
89033604eb Minor stylistic comment update in the internal Boost Build rebuilds.py test.
[SVN r79784]
2012-07-28 14:12:39 +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ć
6c3df7cd71 Boost Build cleanup - minor stylistic changes.
[SVN r79739]
2012-07-25 07:25:12 +00:00
Jurko Gospodnetić
b828d3531b Updated the internal Boost Build rebuilds.py test to report additional debugging information in case of failure.
[SVN r79738]
2012-07-25 07:17:01 +00:00
Jurko Gospodnetić
89f26e148b Corrected the internal Boost Build rebuilds.py test to avoid incorrectly detected failures when a file to be rebuilt ('bar') gets rebuilt too quickly in one of the test cases (used to fail if the original file and the rebuilt file did not have file modification timestamps with the same second).
[SVN r79737]
2012-07-25 07:15:06 +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ć
74b443789d Updated internal Boost Build's testing system code for collecting file modification timestamps information to do so with greater than 1 second precision (if the OS, file system and the used Python implementation support this). This allows for more precise/correct recognizing whether a file has been touched by a build run or not.
[SVN r79735]
2012-07-25 07:01:43 +00:00
Jurko Gospodnetić
dff942e14b Boost Build cleanup - minor stylistic changes & comment updates.
[SVN r79733]
2012-07-25 05:15:42 +00:00
Jurko Gospodnetić
b32315556f Cleaned up the internal Boost Build indirect_conditional.py test and updated it to test the project context under which indirect conditionals are run (using the glob rule).
[SVN r79718]
2012-07-24 09:44:29 +00:00
Jurko Gospodnetić
7759f00d81 Cleaned up the internal Boost Build project_glob.py test and made it a bit more strict.
[SVN r79717]
2012-07-24 08:48:27 +00:00
Jurko Gospodnetić
943b911a6b Made Boost Build's internal core_action_output.py test a bit more strict.
[SVN r79716]
2012-07-24 07:36:58 +00:00
Jurko Gospodnetić
3eca1c873f Updated the internal Boost Build project_test3.py test to not test for the complete Boost Jam output but only the important parts. This way warnings shown at misconfigured tester locations will no longer cause this test to fail.
[SVN r79702]
2012-07-23 18:19:34 +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ć
a73598ec7b Updated Boost Build's internal dependency_test.py unit test report additional information on failure. Minor stylistic comment change.
[SVN r79680]
2012-07-22 20:35:40 +00:00
Jurko Gospodnetić
0cb44ba189 Minor stylistic change.
[SVN r79666]
2012-07-22 08:17:32 +00:00
Jurko Gospodnetić
66f0980384 Fixed a Boost Build bug with path feature requirements not getting expanded to a correct relative path depending on where the build was getting run from, if added by an indirect conditional feature rule. Fixes ticket http://svn.boost.org/trac/boost/ticket/7144. Thanks to dimak <dvb.kharkov _at_ gmail _dot_ com> for reporting this and preparing a reproducible test case.
[SVN r79665]
2012-07-22 07:40:52 +00:00
Jurko Gospodnetić
0f5763ba68 Cleaned up the internal Boost Build path_features.py test script to make it clearer which tests in it are decoupled from each other. Minor stylistic changes.
[SVN r79646]
2012-07-22 05:14:00 +00:00
Jurko Gospodnetić
1082919fb8 Corrected a Boost Build bug causing it to not report an error if a generator needed to determine its target name itself when a source target passed to it as third or later did not have the same name as the first one. Added a related internal Boost Build unit test.
Caught and reported by Adder <adder.thief _at_ gmail.com>.

[SVN r79629]
2012-07-20 19:12:59 +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ć
ac6b378f22 Refactored the internal Boost Build generators-test.py test into a single Python script not depending on externally prepared files to make it easier to extend with additional tests unrelated the current one but reusing the functionality prepared for the already existing tests. Corrected a minor appender.jam comment typo in the process.
[SVN r79627]
2012-07-20 19:03:50 +00:00
Jurko Gospodnetić
89f740660f Boost Jam/Build code cleanup - minor stylistic changes.
[SVN r79620]
2012-07-20 14:20:55 +00:00
Jurko Gospodnetić
a80848695b Corrected the internal Boost Build library_order.py unit test - updated its test run parameter passing to use lists of strings instead of simple strings (was causing assertion failures with the latest internal Boost Build testing framework implementation), minor stylistic changes.
[SVN r79600]
2012-07-19 12:30:48 +00:00
Jurko Gospodnetić
0e4d14bfe6 Added a new internal Boost Build test illustrating a bug in the current Boost Build/Jam implementation and causing targets to be rebuilt when not necessary in some cases.
[SVN r79599]
2012-07-19 11:53:30 +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ć
e0f7059b26 Removed an unused variable from one of the internal Boost Build tests.
[SVN r79596]
2012-07-19 04:39:42 +00:00
Jurko Gospodnetić
3c935afa5f Cleaned up Boost Build's internal 'parallel multi-file actions' tests a bit - removed some dead code and updated description comments.
[SVN r79595]
2012-07-19 04:11:50 +00:00
Jurko Gospodnetić
e6a3faf35d Corrected the internal Boost Build generators_test.py unit test to correctly split its appender 'action' into separate appender1 actions (building only a single target each), and still have them all called correctly together or none at all. Old and too-simplistic solution registered called completely independent actions for each target, causing Boost Jam to build only some of the targets in some cases, unlike what it would have done had they all actually been built by a single action.
[SVN r79579]
2012-07-18 12:23:18 +00:00
Jurko Gospodnetić
c16ae1c68a Boost Jam/Build cleanup - minor stylistic changes (comment updates; line wrapping; removed some dead/unused function declarations, parameters & code; declared variables as const; reordered some #include directives alphabetically, removed some unnecessary ones and added several missing ones discovered by the reordering).
[SVN r79569]
2012-07-17 08:56:49 +00:00
Jurko Gospodnetić
678fe54e15 Updated Boost Build tests to run the collect_debug_info.py test only when running the tests non-interactively, i.e. when collecting the test results in an xml output file. When running the tests interactively and observing the results on the console there is no need for this always-failing test to spoil the 'all tests passed' result - the user will generally know everything about his system and can still run this test directly if he wishes to see what it would have returned.
[SVN r79478]
2012-07-13 19:17:04 +00:00
Jurko Gospodnetić
53576e4073 Boost Build testing system code cleanup. Mainly stylistic changes + stopped using old deprecated string module functions in the test_all.py module.
[SVN r79476]
2012-07-13 19:03:54 +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ć
09e4708742 Boost Build cleanup - removed an extra Python module import from the internal core_at_file.py Boost Build test.
[SVN r79473]
2012-07-13 18:20:34 +00:00
Jurko Gospodnetić
9905deabee Fixed a Boost Jam error reporting bug where it would report the error as originating from an incorrect file & line in case the error occurred after parsing the final token in some file. It usually reported it as the file including the file in question or, if the file is the main project build script not included from anywhere, then it reported the error as originating from file '(builtin)' and line -1. Added a related internal Boost Build unit test (core_source_line_tracking.py).
[SVN r79449]
2012-07-12 13:21:46 +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ć
bcbd74f5be Updated Boost Build test_rc.py test to make its internal dummy-RC toolset always use the .obj suffix when generating OBJ targets. This is another attempt at correcting failures for this test on non-Windows platforms.
[SVN r79231]
2012-07-02 18:59:11 +00:00
Jurko Gospodnetić
8704397f4a Yet another attempt at getting Boost Build's test_rc.py test to use its internal dummy-RC toolset correctly. Now disabled reading any external Boost Build configuration files to avoid having other, not actually used, toolsets (e.g. gcc) change the OBJ target suffix used by Boost Build.
[SVN r79225]
2012-07-02 09:50:12 +00:00
Jurko Gospodnetić
60184aec1f Updated Boost Build test_rc.py test to use its internal dummy-RC toolset even when the test site has a different toolset configured in its site-config.jam or user-config.jam configuration files. Added more detailed output information in case this test fails.
[SVN r79221]
2012-07-01 23:53:22 +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
Jurko Gospodnetić
18b914bd54 Minor stylistic change in the Boost Build testing framework.
[SVN r79171]
2012-06-29 18:18:28 +00:00
Jurko Gospodnetić
173d1e16ff 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ć
8ddc6dfeb5 Updated Boost Build's alias.py test to display additional information in case of failure.
[SVN r79169]
2012-06-29 18:10:25 +00:00
Jurko Gospodnetić
8c46361707 Updated the Boost Build test_rc.py test to use an internal dummy toolset to test the functionality in gc.jam. Before, using the some toolsets (e.g. gcc toolset on a non-Windows platform) was using the silent 'null' resource compiler which did not display the output messages required by this test.
[SVN r79168]
2012-06-29 18:07:10 +00:00
Jurko Gospodnetić
41125133ad Boost Build cleanup - minor stylistic changes & comment typo corrections.
[SVN r79166]
2012-06-29 17:59:49 +00:00
Jurko Gospodnetić
270d13afe1 Updated the Boost Build test_rc.py test to display some additional debugging information in case of failures to help debugging some detected test failures on different non-Windows Boost library test runners.
[SVN r79155]
2012-06-28 12:27:44 +00:00
Jurko Gospodnetić
58fca42099 Updated the Boost Build collect_debug_info.py test to correctly parse version variable information from Boost Jam output when they contain colon characters. Minor stylistic changes.
[SVN r79151]
2012-06-28 09:11:55 +00:00
Jurko Gospodnetić
0170776ece Updated the Boost Build core_language.py test to not fail when run on Windows OSs that have a HKLM\SYSTEM\CurrentControlSet\AddServices key, as detected on the VeecoFTC Boost library tester Windows XP Professional SP3 machine.
[SVN r79150]
2012-06-27 22:50:07 +00:00
Jurko Gospodnetić
317f9b1c51 Minor stylistic changes in the Boost Build core_language.py test.
[SVN r79149]
2012-06-27 22:46:10 +00:00
Jurko Gospodnetić
9dc325c5de Added a new Boost Build test - testing the rc.jam toolset. Guards against a regression causing targets depending on a .rc script file to rebuild every time if the .rc script includes a resource file newer than itself.
[SVN r79148]
2012-06-27 22:20:33 +00:00
Jurko Gospodnetić
29c405650d Minor correction to unused code in the collect_debug_info.py Boost Build test.
[SVN r79147]
2012-06-27 20:24:10 +00:00
Jurko Gospodnetić
7f4aff4adb Corrected the Boost Build core_action_output.py test that had a typo causing it to fail when run under a non-Windows OS.
[SVN r79136]
2012-06-27 13:14:44 +00:00
Jurko Gospodnetić
3b7ea5210d Updated the Boost Build collect_debug_info.py test to avoid an assertion failure reported by some Boost library testers (e.g. Sandia-darwin-4.4) and see more information on what caused them.
[SVN r79132]
2012-06-27 09:56:49 +00:00
Jurko Gospodnetić
aff0ad7f04 Updated Boost Build's collect_debug_info.py test to report the used Boost Jam/Build version information and commented out its environment variable usage testing.
[SVN r79126]
2012-06-27 00:48:26 +00:00
Jurko Gospodnetić
01321fb209 Added a new Boost Build/Jam -p command line option handling test.
[SVN r79124]
2012-06-26 20:27:59 +00:00
Jurko Gospodnetić
a690d471a4 Updated the Boost Build core_nt_cmd_line.py test to make it compatible with the ancient Python releases prior to Python version 2.5. It seems those versions do not support the 'x = 1 if condition else 2' construct and report it as a SyntaxError.
[SVN r79119]
2012-06-26 17:46:37 +00:00
Jurko Gospodnetić
353ea4756e Corrected the Boost Build core_nt_cmd_line.py test failure caused by empty actions now getting reported to stdout correctly. Updated the test to make sure all the whitespace action content gets printed out correctly.
[SVN r79106]
2012-06-26 11:03:29 +00:00
Jurko Gospodnetić
bca364c875 Cleaned up the Boost Build core_d12.py test a bit. Still failing with the current Boost Jam implementation.
[SVN r79100]
2012-06-26 10:25:00 +00:00
Jurko Gospodnetić
e17fa79213 Updated Boost Jam to execute commands directly on Windows when that is requested by setting the JAMSHELL variable to '%', the same as for Unix OSs, and not change the user's request under covers to running the command via the default shell if it is 8191 characters long or shorter. Renamed the related Boost Build core_nt_line_length.py test to core_nt_cmd_line.py and updated it with more detailed test cases.
[SVN r79097]
2012-06-25 23:01:59 +00:00
Jurko Gospodnetić
d55d846b27 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ć
559765ff88 Minor stylistic change in the Boost Build test system.
[SVN r79036]
2012-06-23 23:12:21 +00:00
Jurko Gospodnetić
16016a7b7a Minor stylistic changes in Boost Build tests.
[SVN r79035]
2012-06-23 23:07:29 +00:00
Jurko Gospodnetić
9f82cfe8c3 Cleaned up the Boost Build module_actions.py test. Now the test's source file no longer needs to contain lines with trailing spaces.
[SVN r79034]
2012-06-23 21:18:32 +00:00
Jurko Gospodnetić
838568f286 Minor Boost Build test system Python code cleanup - removed unnecessary trailing semicolons.
[SVN r79003]
2012-06-19 10:08:33 +00:00
Jurko Gospodnetić
283e2bf18e 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ć
bcbfaa30e9 Updated the Boost Build core_arguments.py test to test all of the supported 19 Boost Jam positional arguments instead of only 9.
[SVN r78984]
2012-06-18 12:59:42 +00:00
Jurko Gospodnetić
147252d9e1 Boost Build's core_arguments.py test now correctly tests whether or not specific arguments passed to a rule cause Boost Jam to exit with an error code.
[SVN r78981]
2012-06-18 11:53:56 +00:00
Jurko Gospodnetić
83b5bd6332 Cleaned up the Boost core_arguments.py test code to reduce duplication.
[SVN r78980]
2012-06-18 11:52:09 +00:00
Jurko Gospodnetić
304712946d Removed redundant module import in Boost Build's core_arguments.py test.
[SVN r78977]
2012-06-18 11:19:32 +00:00
Jurko Gospodnetić
6020b81c8d 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ć
f7aeca291a Added a missing source file for the generators_test.py Boost Build test that got missed in a previous commit (revision [78964]).
[SVN r78971]
2012-06-16 06:25:16 +00:00
Jurko Gospodnetić
6beaaefcb0 Updated the generators_test.py Boost Build test to explicitly check some conditions that were before only listed in test code comments but never explicitly tested.
[SVN r78970]
2012-06-16 02:45:09 +00:00
Jurko Gospodnetić
d90686df32 Made the Boost Build example_make.py test explicitly use its own Python interpreter instead of relying on the 'python' executable being available on the system path.
[SVN r78969]
2012-06-16 02:41:44 +00:00
Jurko Gospodnetić
cb7f8671ab 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ć
ede5a51520 Comment typo correction.
[SVN r78967]
2012-06-16 02:27:03 +00:00
Jurko Gospodnetić
aad774f8a1 Updated the rest of the Boost Build generator_selection.py test to not use the default CPP --> OBJ generator and use a custom 'simple copy file generator' instead to avoid problems with misconfigured test runners. Also made the test a bit stricter. This should fix the test failing on Sandia-darwin-intel test runners.
[SVN r78966]
2012-06-16 01:29:30 +00:00
Jurko Gospodnetić
a2ef66ba29 Minor stylistic changes.
[SVN r78965]
2012-06-16 01:22:58 +00:00
Jurko Gospodnetić
f33d140ee7 Reorganized the Boost Build generators-test.py test completely. Now no longer used regular OBJ, LIB & EXE target generators to avoid having to deal with specific compiler/linker features, e.g. some compilers causing test failures by returning an error code on a warning about an unexpected source file .target_cpp extension being used. Removed lots of duplication, made the test code much more readable, reviewed and cleaned up all the comments.
Broken commit - missing the appender.jam source file.

[SVN r78964]
2012-06-16 00:46:51 +00:00
Jurko Gospodnetić
f98d3aef09 Made the generators_test.py Boost Build test more detailed.
[SVN r78962]
2012-06-15 22:46:27 +00:00
Jurko Gospodnetić
5695c65f8b Extracted static/shared library testing out of the generators_test.py Boost Build test and into a separate new static_and_shared_library.py test. Updated the test a bit in the process to make it test some additional use cases.
[SVN r78961]
2012-06-15 20:17:17 +00:00
Jurko Gospodnetić
fd2c21b147 Minor stylistic changes.
[SVN r78960]
2012-06-15 19:20:21 +00:00
Jurko Gospodnetić
121a0381d5 Minor stylistic changes.
[SVN r78959]
2012-06-15 19:13:27 +00:00
Jurko Gospodnetić
12d90df529 Updated the Boost Build generator_selection.py test to not use the default CPP --> OBJ generator and use a custom 'simple copy file generator' to avoid problems with some test runners using compilers/toolsets refusing to compile sources with unknown extensions. This should fix the test failing on IBM's AIX test runner.
[SVN r78952]
2012-06-15 06:57:02 +00:00
Jurko Gospodnetić
998067a318 Minor stylistic changes.
[SVN r78951]
2012-06-15 06:52:28 +00:00
Jurko Gospodnetić
f502135687 Comment typo correction. Trimmed trailing spaces.
[SVN r78950]
2012-06-15 06:04:53 +00:00
Jurko Gospodnetić
b9ef06781a Code cleanup - removed an unneeded module import from Boost Build's startup_v2.py test.
[SVN r78946]
2012-06-14 12:31:27 +00:00
Jurko Gospodnetić
5c6c7e1cf6 Updated Boost Build's startup_v2.py test to cleanly report and there is an unexpected boost-build.jam file found in any of the folders along the test's current working folder path. Before, such a file would break the test making sure Boost Build correctly reports if such a file is missing, and in such a way that made debugging the problem difficult.
[SVN r78945]
2012-06-14 12:27:24 +00:00
Jurko Gospodnetić
aa5bbb84c1 Minor stylistic changes made to Boost Build's startup_v2.py test.
[SVN r78944]
2012-06-14 12:19:13 +00:00
Jurko Gospodnetić
27032c15b2 Corrected a defective Boost Build configuration.py test that gets run only on non-Windows platforms.
[SVN r78921]
2012-06-13 12:36:55 +00:00
Jurko Gospodnetić
0c1b6c255b Added a new, temporary, always-failing Boost Build test named collect_debug_info.py. Used to collect additional debugging information about specific test sites, e.g. Python & OS version. Currently collects information required for debugging detected configuration.py test failures. Registered expected Boost library test failures.
[SVN r78918]
2012-06-13 01:02:02 +00:00
Jurko Gospodnetić
9ec86fca3b Corrected how Boost Build's configuration.py test detects whether the current platform interprets setting an environment variable to an empty string literally or as unsetting that variable.
[SVN r78917]
2012-06-13 00:17:28 +00:00
Jurko Gospodnetić
7595fd910b Corrected a few Python errors that snuck trough in the previous two Boost Build configuration.py test commits.
[SVN r78916]
2012-06-13 00:04:53 +00:00
Jurko Gospodnetić
eb2c285ad9 Corrected a bug in the Boost Build configuration.py test that was causing it to leave behind an invalid BOOST_BUILD_USER_CONFIG environment variable setting after it finishes running with a Python interpreter prior to version 2.6 (calling os.environ.pop() did not actually clear the environment variable in question).
[SVN r78915]
2012-06-13 00:01:01 +00:00
Jurko Gospodnetić
af4fc9b85b Minor Boost Build configuration.py test cleanup.
[SVN r78914]
2012-06-12 23:55:54 +00:00
Jurko Gospodnetić
d3a49d8cb4 Cleaned up the Boost Build testing framework implementation a bit.
[SVN r78913]
2012-06-12 23:51:47 +00:00
Jurko Gospodnetić
a7d4564872 Removed temporary '--plinky-plonky' Boost Build debugging code.
[SVN r78906]
2012-06-12 08:11:48 +00:00
Jurko Gospodnetić
5db647087b Added some temporary Boost Build debugging code as a part of the effort to track down some of the mysterious Boost Build test failures reported by the Boost library regression tests (namely, how on some platforms we are encountering empty target ids). Related code enabled using the '--plinky-plonky' command-line option.
[SVN r78891]
2012-06-11 13:22:17 +00:00
Jurko Gospodnetić
e636d36fa4 Minor sylistic changes - trimmed trailing spaces.
[SVN r78890]
2012-06-11 12:54:29 +00:00
Jurko Gospodnetić
34b5b33315 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
Jurko Gospodnetić
aa71370570 Corrected a Python error in the configuration.py Boost Build test script that might have caused the test to crash on startup if the surrounding environment had the 'UGNABUNGA_FOO_BAR_BAZ_FEE_FAE_FOU_FAM' environment set.
[SVN r78886]
2012-06-11 02:15:09 +00:00
Jurko Gospodnetić
78d1c7f9f4 Removed temporary debugging code from the configuration.py Boost Build test, now made redundant by better unhandled exception handling implemented in the main Boost Build test runner script.
[SVN r78885]
2012-06-11 02:13:13 +00:00
Jurko Gospodnetić
1764edd076 Minor stylistic changes.
[SVN r78884]
2012-06-11 02:09:24 +00:00
Jurko Gospodnetić
24002030db Made the main Boost Build test runner script correctly report unhandled and unexpected exceptions raised from specific test scripts. Before, such an exception would terminate the whole test run while now it gets cleanly reported as just another test failure. This makes Boost library regression test results correctly report any Python errors (e.g. using a Python feature not supported by the used Python version) which previously developers had no built-in way of getting feedback about.
[SVN r78883]
2012-06-11 02:02:59 +00:00
Jurko Gospodnetić
b8d4657d9c Made the main Boost Build test runner script not assume that successful tests will leave behind no annotations, thus making result processing with and without XML output symmetric. Before, with XML output, if a passed test left behind some annotations, they would get reported as annotations for the next failing test.
[SVN r78882]
2012-06-11 01:58:05 +00:00
Jurko Gospodnetić
6acb36bc11 Removed some 'regression' test specialized debugging code from the main Boost Build test runner script that seems to have been left behind from some debugging efforts. It would cause annotations to be displayed to the user if that test failed and no XML output was requested, while for all the other failed tests such annotations are ignored. This seems unnecessary since this output can be collected by directly running the regression.py test script, same as what is done with any other failed test.
[SVN r78881]
2012-06-11 01:55:43 +00:00
Jurko Gospodnetić
05887be75a Made the main Boost Build test runner script better align its test results on screen when not run with XML output. Now the maximum test name length is no longer hardcoded.
[SVN r78880]
2012-06-11 01:49:52 +00:00