[cmake-developers] ctest-fix-run-serial topic regressions

Brad King brad.king at kitware.com
Fri Dec 20 13:28:27 EST 2013


Nils,

With regard to the topic discussed here:

 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/8290

Since this topic was merged to master by commit 38fc334f
(Merge topic 'ctest-fix-run-serial', 2013-10-26) I've noticed
two regressions in CTest behavior.

The first one I noticed is that tests that have dependencies are
now run before all other tests even without "-j".  Previously
serial testing would run tests in the order declared.  I would
prefer that this continue to be the case except for enforcing
dependencies.  The dependency-based ordering should be a stable
sort of the original order.  This is minor so I didn't think it
was worth bringing up on its own.  However, I think it is worth
addressing after the following issue is addressed.

The second one is a new bug that is responsible for some of the
missing dashboard submissions recently.  Somehow CTest stops
running tests and loops forever if there are problems running
some tests.  It can be reproduced on Linux in a CMake build
tree as follows:

 $ cd CMake-build
 $ make -j 8
 $ rm -f bin/cmake
 $ bin/ctest -M Experimental -T Start -T Test -j 8 \
             -E '^(CTestTestTimeout|BootstrapTest)$'
 # (The -E option is not actually needed but saves time
 # while reproducing the problem.)

Most tests immediately fail due to the missing cmake binary.
However, when CTest finishes running tests it loops forever.

According to "git bisect" this problem was introduced by the
ctest-fix-run-serial topic.  I discovered it because one of the
dashboard submissions I run uses ctest from 'next' each night
to drive the dashboard script and stopped submitting.  The
host machine had accumulated one busy-loop process per day.
After killing them I ran the dashboard script by hand and found
that there was a compile error that caused bin/cmake to be
missing.  Since CTest got stuck during ctest_test() it never
submitted the build failure to the dashboard either.

Anyway, please take a look at the above issues.

Thanks,
-Brad



More information about the cmake-developers mailing list