[CMake] bug in ctest (2.6.3)?
Bill Hoffman
bill.hoffman at kitware.com
Wed Mar 4 10:55:05 EST 2009
Clemens Arth wrote:
> Until now, this worked well, but now it seems that CTEST_RUN_SCRIPT is
> only called once and, not as expected, multiple times one after each
> other. I guess this is not the intended behaviour... Can anyone
> reproduce this?
>
I reproduced it. I think I have a fix. The problem is that the
CTEST_RUN_SCRIPT command will fail now if there are ANY errors in the
script prior to running the script. Are you getting any errors in the
first script? If you want a code patch, you can do this:
cmCTestScriptHandler::ReadInScript(const std::string& total_script_arg)
{
cmSystemTools::ResetErrorOccuredFlag();
...
The difference in 2.6.3 is that it now reads CMakeDetermineSystem.cmake
and CMakeSystemSpecificInformation.cmake before actually reading the
script.
Basically it does this:
read CMakeDetermineSystem.cmake
if(cmSystemTools::GetErrorOccuredFlag()) return
read CMakeSystemSpecificInformation.cmake
if(cmSystemTools::GetErrorOccuredFlag()) return
read the script
if(cmSystemTools::GetErrorOccuredFlag()) return
The first two are new, so before the change it would read the script and
then return an error, but it still would read the script. Now, if there
are any errors before calling ReadInScript, it will error out in the
first read and never actually read the script. So, the only workaround
is to avoid errors... I will put in a fix for the next release.
If you run ctest -S yourscript.cmake -VV --debug then you should be able
to figure out where the error is happening.
Thanks for the report.
-Bill
More information about the CMake
mailing list