Added CTest targets to perform basic test of --list-tests and --list-tags options.

This commit is contained in:
Fraser Hutchison 2013-10-24 02:57:46 +01:00
parent 6253386458
commit 69a3f161f9

View File

@ -1,37 +1,40 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
project(Catch C CXX) project(Catch)
message("configure: Catch/SelfTest")
# define some folders # define some folders
set(CATCH_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") get_filename_component(CATCH_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PATH)
get_filename_component(CATCH_DIR "${CATCH_DIR}" PATH)
set(SELF_TEST_DIR ${CATCH_DIR}/projects/SelfTest) set(SELF_TEST_DIR ${CATCH_DIR}/projects/SelfTest)
set(SCRIPTS_DIR ${CATCH_DIR}/scripts)
# define the sources of the self test # define the sources of the self test
set( set(SOURCES
SOURCES ${SELF_TEST_DIR}/ApproxTests.cpp
${SELF_TEST_DIR}/ApproxTests.cpp ${SELF_TEST_DIR}/BDDTests.cpp
${SELF_TEST_DIR}/BDDTests.cpp ${SELF_TEST_DIR}/catch_self_test.cpp
${SELF_TEST_DIR}/catch_self_test.cpp ${SELF_TEST_DIR}/ClassTests.cpp
${SELF_TEST_DIR}/ClassTests.cpp ${SELF_TEST_DIR}/CmdLineTests.cpp
${SELF_TEST_DIR}/CmdLineTests.cpp ${SELF_TEST_DIR}/ConditionTests.cpp
${SELF_TEST_DIR}/ConditionTests.cpp ${SELF_TEST_DIR}/ExceptionTests.cpp
${SELF_TEST_DIR}/ExceptionTests.cpp ${SELF_TEST_DIR}/GeneratorTests.cpp
${SELF_TEST_DIR}/GeneratorTests.cpp ${SELF_TEST_DIR}/MessageTests.cpp
${SELF_TEST_DIR}/MessageTests.cpp ${SELF_TEST_DIR}/MiscTests.cpp
${SELF_TEST_DIR}/MiscTests.cpp ${SELF_TEST_DIR}/SectionTrackerTests.cpp
${SELF_TEST_DIR}/SectionTrackerTests.cpp ${SELF_TEST_DIR}/TestMain.cpp
${SELF_TEST_DIR}/TestMain.cpp ${SELF_TEST_DIR}/TrickyTests.cpp
${SELF_TEST_DIR}/TrickyTests.cpp ${SELF_TEST_DIR}/VariadicMacrosTests.cpp
${SELF_TEST_DIR}/VariadicMacrosTests.cpp
) )
# configure the executable # configure the executable
include_directories(${CATCH_DIR}/include) include_directories(${CATCH_DIR}/include)
add_executable(SelfTest ${SOURCES}) add_executable(SelfTest ${SOURCES})
# configure unit tests via ctest # configure unit tests via CTest
enable_testing() enable_testing()
add_test(NAME SelfTest_run COMMAND SelfTest) add_test(NAME RunTests COMMAND SelfTest)
#add_test(NAME SelfTest_run COMMAND python ${SCRIPTS_DIR}/approvalTests.py "${CMAKE_CURRENT_BINARY_DIR}/SelfTest")
add_test(NAME ListTests COMMAND SelfTest --list-tests)
set_tests_properties(ListTests PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+ test cases")
add_test(NAME ListTags COMMAND SelfTest --list-tags)
set_tests_properties(ListTags PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+ tags")