MantisBT - CMake | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0008056 | CMake | CTest | public | 2008-11-07 10:45 | 2009-09-14 21:22 |
| Reporter | Roscoe A. Bartlett | ||||
| Assigned To | Bill Hoffman | ||||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | OS | OS Version | |||
| Product Version | |||||
| Target Version | Fixed in Version | ||||
| Summary | 0008056: ctest -j N does not work correctly with expected failing tests | ||||
| Description | I just checkout, built and installed the most recent version of CMake on 2008/11/07. I tested the -j N option with ctest and it mostly works correctly but it does not work correctly for tests that are expected to fail (i.e. they return non-zero value) but there is a REGEX given to determine success. Here is one example. I one test defined with a helper macro as: =========================================================== TRILINOS_ADD_TEST( UnitTest_BadUnitTest NAME UnitTest_BadUnitTest_end_result_failed DIRECTORY UnitTest ARGS "--teuchos-suppress-startup-banner" NUM_MPI_PROCS 1 COMM serial mpi PASS_REGULAR_EXPRESSION "End Result: TEST FAILED" ) =========================================================== In the macro TRILINOS_ADD_TEST(...), the argument PASS_REGULAR_EXPRESSION "End Result: TEST FAILED" is added as test property as you would expect. Here is the output from the test: =========================================================== Start testing: Nov 07 07:52 MST ---------------------------------------------------------- Changing directory into: /home/rabartl/PROJECTS/Trilinos.base/BUILDS/CMAKE/GCC-4.1.2/SERIAL_OPT/packages/teuchos/test 7/109 Testing: Teuchos_UnitTest_BadUnitTest_end_result_failed 7/109 Test: Teuchos_UnitTest_BadUnitTest_end_result_failed Command: "/home/rabartl/PROJECTS/Trilinos.base/BUILDS/CMAKE/GCC-4.1.2/SERIAL_OPT/packages/teuchos/test/UnitTest/UnitTest_BadUnitTest.exe" "--teuchos-suppress-startup-banner" Directory: /home/rabartl/PROJECTS/Trilinos.base/BUILDS/CMAKE/GCC-4.1.2/SERIAL_OPT/packages/teuchos/test "Teuchos_UnitTest_BadUnitTest_end_result_failed" start time: Nov 07 07:52 MST Output: ---------------------------------------------------------- *** *** Unit test suite ... *** Sorting tests by group name then by test name ... Running unit tests ... 0. Int_Assignment_UnitTest ... [Passed] 1. Int_BadAssignment_UnitTest ... i2 = 5 == i1 = 4 : failed [FAILED] Location: /home/rabartl/PROJECTS/Trilinos.base/Trilinos/packages/teuchos/test/UnitTest/Failing_UnitTest.cpp:7 2. Int_Basic_UnitTest ... [Passed] 3. VectorInt_OutOfRangeAt_UnitTest ... p=0: *** Caught standard std::exception of type 'std::out_of_range' : vector::_M_range_check [FAILED] Location: /home/rabartl/PROJECTS/Trilinos.base/Trilinos/packages/teuchos/test/UnitTest/Failing_UnitTest.cpp:15 4. someFunc_ComplexDouble_test1_UnitTest ... [Passed] 5. someFunc_ComplexFloat_test1_UnitTest ... [Passed] 6. someFunc_double_test1_UnitTest ... [Passed] 7. someFunc_float_test1_UnitTest ... [Passed] Summary: total = 8, run = 8, passed = 6, failed = 2 End Result: TEST FAILED ---------------------------------------------------------- "Teuchos_UnitTest_BadUnitTest_end_result_failed" end time: Nov 07 07:52 MST "Teuchos_UnitTest_BadUnitTest_end_result_failed" time elapsed: 00:00:00 ---------------------------------------------------------- End testing: Nov 07 07:52 MST =========================================================== Note that the above test gives the correct string, but 'ctest -j 8' returned that it failed. Another problem with 'ctest -j N' is that it does not respect the '-W' option to widen the output as shown by: =========================================================== [rabartl@godel SERIAL_OPT]$ ctest -W 100 -j 8 -E TrilinosDep -R Teuchos_UnitTest Start processing tests Test project /home/rabartl/PROJECTS/Trilinos.base/BUILDS/CMAKE/GCC-4.1.2/SERIAL_OPT 20: 20/120 Testing Teuchos_UnitTest_BadUnitTest_I***Failed 21: 21/120 Testing Teuchos_UnitTest_BadUnitTest_I***Failed 19: 19/120 Testing Teuchos_UnitTest_BadUnitTest_e***Failed 16: 16/120 Testing Teuchos_UnitTest_UnitTests ... Passed 18: 18/120 Testing Teuchos_UnitTest_BadUnitTest_e***Failed 17: 17/120 Testing Teuchos_UnitTest_BadUnitTest_f***Failed 17% tests passed, 5 tests failed out of 6 =========================================================== The simultaneous serial testing feature is an important feature for Trilinos in order to speed up pre-checking testing, to give faster continuous integration feedback, and to better utilize sparse testing machines. | ||||
| Steps To Reproduce | |||||
| Additional Information | |||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | |||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
| 2008-11-07 10:45 | Roscoe A. Bartlett | New Issue | |||
| 2008-11-07 17:54 | Roscoe A. Bartlett | Note Added: 0014063 | |||
| 2008-12-16 16:59 | Bill Hoffman | Status | new => assigned | ||
| 2008-12-16 16:59 | Bill Hoffman | Assigned To | => Bill Hoffman | ||
| 2008-12-18 22:03 | Bill Hoffman | Note Added: 0014404 | |||
| 2008-12-24 14:03 | Roscoe A. Bartlett | Note Added: 0014437 | |||
| 2008-12-24 14:08 | Roscoe A. Bartlett | Note Added: 0014438 | |||
| 2008-12-24 15:35 | Bill Hoffman | Note Added: 0014439 | |||
| 2008-12-24 15:46 | Bill Hoffman | Note Added: 0014440 | |||
| 2008-12-29 18:11 | Bill Hoffman | Note Added: 0014452 | |||
| 2009-02-10 14:24 | Bill Hoffman | Note Added: 0014886 | |||
| 2009-02-13 00:52 | Roscoe A. Bartlett | Note Added: 0014921 | |||
| 2009-09-14 21:22 | Bill Hoffman | Note Added: 0017514 | |||
| 2009-09-14 21:22 | Bill Hoffman | Status | assigned => closed | ||
| 2009-09-14 21:22 | Bill Hoffman | Resolution | open => fixed | ||
| Notes | |||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||