---------- Forwarded message ---------- From: John Drescher <[email protected]> Date: Fri, Aug 28, 2009 at 1:53 PM Subject: Re: [CMake] generating CTest tests To: Alex H <[email protected]>
On Fri, Aug 28, 2009 at 1:38 PM, Alex H<[email protected]> wrote: > Hello, > In the ADD_TEST command in the example below I mentioned the test name is > test1, is this only a naming thing or does it mean > that I have to have an actual file called test1 in the system to be run by > the executable? Sorry, I read the documentation several times and > still don't understand as somewhere on the documentation it also mentions > test files, I am not sure what to put inside this test file though. > Should I put this ADD_TEST inside the test file or the CMakeLists.txt? > Thanks > Alex > You make a separate target for this. Here is an example. I have a main project Called QtBasicUtils in that main project I have in the main application CMakeLists.txt option (BUILD_TESTING "Build Tests" ON) IF(BUILD_TESTING) ENABLE_TESTING() add_subdirectory(Testing) ENDIF(BUILD_TESTING) And then in the CMakeLists.txt file in QtBasicUtils/Testing #This file contains the automated unit testing for QtBasicUtils LINK_LIBRARIES(BasicTest QtBasicUtils ${QT_LIBRARIES}) include_directories( ${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/.. ${PROJECT_SOURCE_DIR}/include ./include) set(TEST_SRCS ./src/basic.cxx ./src/testxml.cxx ./src/testUserProps.cxx ) set(TEST_HDRS ./include/testxml.h ./include/testUserProps.h ) add_executable(BasicTest ${TEST_SRCS} ${TEST_HDRS}) add_dependencies(BasicTest QtBasicUtils) file(WRITE ${EXECUTABLE_OUTPUT_PATH}/test0.txt "+FLOATARGS 1.0 2.0 2.0 2.0 2.0 -S9.0") add_test(FileCMD0 ${EXECUTABLE_OUTPUT_PATH}/BasicTest @${EXECUTABLE_OUTPUT_PATH}/test0.txt) #This will fail because the file should not exist. add_test(FileCMD1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest @${EXECUTABLE_OUTPUT_PATH}/../test111111111111111111.txt) SET_TESTS_PROPERTIES(FileCMD1 PROPERTIES WILL_FAIL TRUE) ADD_TEST(Test0 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +?) ADD_TEST(Test1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +Test 1.0) ADD_TEST(StringListArg0 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +STRLSTARG 1 2 3 4 . -S10) ADD_TEST(StringListArg1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +STRLSTARG 1 2 3 . -S6) ADD_TEST(StringListOpt0 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +STRLSTOPT -I1 2 3 . -S6) ADD_TEST(StringListOpt1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +STRLSTOPT -I1 2 3 4 . -S10) ADD_TEST(BoolOpt1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +BOOLOPT -B) ADD_TEST(BoolOpt2 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +BOOLOPT -B-) SET_TESTS_PROPERTIES(BoolOpt2 PROPERTIES WILL_FAIL TRUE) ADD_TEST(ExtBoolOpt1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +EXTBOOLOPT --use_extended=+) ADD_TEST(ExtBoolOpt2 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +EXTBOOLOPT --use_extended=-) ADD_TEST(ExtBoolOpt3 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +EXTBOOLOPT --use_extended+) ADD_TEST(ExtBoolOpt4 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +EXTBOOLOPT --use_extended-) ADD_TEST(ExtBoolOpt5 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +EXTBOOLOPT --use_extended) SET_TESTS_PROPERTIES(ExtBoolOpt2 PROPERTIES WILL_FAIL TRUE) SET_TESTS_PROPERTIES(ExtBoolOpt4 PROPERTIES WILL_FAIL TRUE) ADD_TEST(FloatArgs0 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS 1.0 -S5.0) ADD_TEST(FloatArgs1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS 2.0 -S6.0) ADD_TEST(FloatArgs2 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS 1.0 1.0 -S5.0) ADD_TEST(FloatArgs3 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS 1.0 2.0 -S6.0) ADD_TEST(FloatArgs4 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS 1.0 1.0 1.0 1.0 1.0 -S5.0) ADD_TEST(FloatArgs5 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS 2.0 2.0 2.0 2.0 2.0 -S10.0) ADD_TEST(FloatArgs6 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS -2.0 2.0 2.0 2.0 2.0 -S6.0) ADD_TEST(FloatArgs7 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS 1.0 2.0 2.0 2.0 2.0 -S10.0) SET_TESTS_PROPERTIES(FloatArgs7 PROPERTIES WILL_FAIL TRUE) ADD_TEST(FloatArgs8 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +FLOATARGS 1.0 2.0 2.0 2.0 2.0 1.0 -S10.0) SET_TESTS_PROPERTIES(FloatArgs8 PROPERTIES WILL_FAIL TRUE) ADD_TEST(DoubleArgs0 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS 1.0 -S5.0) ADD_TEST(DoubleArgs1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS 2.0 -S6.0) ADD_TEST(DoubleArgs2 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS 1.0 1.0 -S5.0) ADD_TEST(DoubleArgs3 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS 1.0 2.0 -S6.0) ADD_TEST(DoubleArgs4 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS 1.0 1.0 1.0 1.0 1.0 -S5.0) ADD_TEST(DoubleArgs5 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS 2.0 2.0 2.0 2.0 2.0 -S10.0) ADD_TEST(DoubleArgs6 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS -2.0 2.0 2.0 2.0 2.0 -S6.0) ADD_TEST(DoubleArgs7 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS 1.0 2.0 2.0 2.0 2.0 -S10.0) SET_TESTS_PROPERTIES(DoubleArgs7 PROPERTIES WILL_FAIL TRUE) ADD_TEST(DoubleArgs8 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +DOUBLEARGS 1.0 2.0 2.0 2.0 2.0 1.0 -S10.0) SET_TESTS_PROPERTIES(DoubleArgs8 PROPERTIES WILL_FAIL TRUE) ADD_TEST(XMLExport0 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +XMLEXP 0) ADD_TEST(XMLExport1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +XMLEXP 1) ADD_TEST(XMLExport2 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +XMLEXP 2) ADD_TEST(XMLExport3 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +XMLEXP 3) ADD_TEST(XMLExport4 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +XMLEXP 4) ADD_TEST(XMLExport5 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +XMLEXP 5) ADD_TEST(XMLExport6 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +XMLEXP 6) ADD_TEST(UserProp0 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +USERPROP 0) ADD_TEST(UserProp1 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +USERPROP 1) ADD_TEST(UserProp2 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +USERPROP 2) ADD_TEST(UserProp3 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +USERPROP 3) SET_TESTS_PROPERTIES(UserProp3 PROPERTIES WILL_FAIL TRUE) ADD_TEST(UserProp4 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +USERPROP 4) SET_TESTS_PROPERTIES(UserProp4 PROPERTIES WILL_FAIL TRUE) ADD_TEST(UserProp5 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +USERPROP 5) ADD_TEST(UserProp6 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +USERPROP 6) ADD_TEST(UserProp7 ${EXECUTABLE_OUTPUT_PATH}/BasicTest +USERPROP 7) I hope this helps. John -- John M. Drescher _______________________________________________ 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
