Does anyone have an experience in integrating Unit test frameworks with CTest? AFAIK many of such frameworks provide means to register tests and test cases, and it would be nice to make ctest aware of such things, because it's not good to make changes in multiple places when I add new test.
I know, KDE has some things, but their approach doesn't allow to run single test. May be I'm wrong and it's complete ctest misusage... I Just played with googletest (http://code.google.com/p/googletest) and came to such macro: macro(ADD_UNIT_TESTS executable source) file(READ "${source}" contents) string(REGEX MATCHALL "TEST_?F?\\(([A-Za-z_ ,]+)\\)" found_tests ${contents}) foreach(hit ${found_tests}) string(REGEX REPLACE ".*\\(([A-Za-z_]+)[, ]*([A-Za-z_]+)\\).*" "\\1.\\2" test_name ${hit}) add_test(${test_name} ${executable} --gtest_filter=${test_name}) endforeach(hit) endmacro(ADD_UNIT_TESTS) This way you automatically propagate all tests and test-cases from sources to CTest. _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
