[CMake] test property COST not working in cmake 2.8.3?

David Cole david.cole at kitware.com
Tue Nov 23 18:02:51 EST 2010


It might be due to this commit:
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=142edf8ad4baccd991a6a8a3e5283d0b575acca2
(first released in 2.8.3)

Or this one:
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b4d27dc041c9164d6f3ad39e192f4b7d116ca3b3
(first released in 2.8.2)

Either way, seems like a bug to me. If you explicitly specify a COST
property value, especially a negative one to induce "last run" status,
then it should be honored over either historical average measurement
or "failed last time, so run it first this time" behavior.

Zach, do you agree?


Thanks,
David


On Tue, Nov 23, 2010 at 5:36 PM, Tyler Roscoe <tyler at cryptio.net> wrote:
> I use set_tests_properties (... COST -500) to force my code coverage
> checks to run after all the unit tests have run. This has stopped
> working and I'm reasonably confident that the only thing that changed
> was an upgrade from cmake 2.8.0 or 2.8.1 to 2.8.3.
>
> I couldn't find anything in the bug tracker or in the release notes
> suggesting that COST or test properties were changed in 2.8.3.
>
> I'm still getting lines like this in my generated CTestTestfile.cmake:
>
>    SET_TESTS_PROPERTIES(rs_exerciser_2dgrid PROPERTIES  COST "-500" FAIL_REGULAR_EXPRESSION "TP_EXERCISER_FAIL")
>
> and the FAIL_REGULAR_EXPRESSION property seems to be working just fine.
>
>
> I've included a small repro case below. This looks like a regression. Should I
> open a bug?
>
> Thanks,
> tyler
>
>
> [tylermr at tpb006:~/cmake-test-properties-test]$ cat CMakeLists.txt
> cmake_minimum_required(VERSION 2.8)
> project(p)
> enable_testing()
>
> add_test (i_should_run_second echo i should run second)
> set_tests_properties (i_should_run_second PROPERTIES COST -1)
> add_test (i_should_run_first echo i should run first)
>
> [tylermr at tpb006:~/cmake-test-properties-test]$ mkdir b && cd b && cmake ..
> -- The C compiler identification is GNU
> -- The CXX compiler identification is GNU
> -- Check for working C compiler: /usr/bin/gcc
> -- Check for working C compiler: /usr/bin/gcc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /tpb006/tylermr/cmake-test-properties-test/b
>
> [tylermr at tpb006:~/cmake-test-properties-test/b]$ ctest --version
> ctest version 2.8.3
> [tylermr at tpb006:~/cmake-test-properties-test/b]$ ctest
> Test project /tpb006/tylermr/cmake-test-properties-test/b
>    Start 1: i_should_run_second
> 1/2 Test #1: i_should_run_second ..............   Passed    0.01 sec
>    Start 2: i_should_run_first
> 2/2 Test #2: i_should_run_first ...............   Passed    0.01 sec
>
> 100% tests passed, 0 tests failed out of 2
>
> Total Test time (real) =   0.04 sec
>
> [tylermr at tpb006:~/cmake-test-properties-test/b]$ /usr/local/cmake-2.8.1-Linux-i386/bin/ctest --version
> ctest version 2.8.1
> [tylermr at tpb006:~/cmake-test-properties-test/b]$ /usr/local/cmake-2.8.1-Linux-i386/bin/ctest
> Test project /tpb006/tylermr/cmake-test-properties-test/b
>    Start 2: i_should_run_first
> 1/2 Test #2: i_should_run_first ...............   Passed    0.01 sec
>    Start 1: i_should_run_second
> 2/2 Test #1: i_should_run_second ..............   Passed    0.01 sec
>
> 100% tests passed, 0 tests failed out of 2
>
> Total Test time (real) =   0.02 sec
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>


More information about the CMake mailing list