From daa775405327c1b7ebc66f8e604321b06d2d2850 Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Tue, 22 May 2012 17:48:14 +0400 Subject: [PATCH] Tests added --- c/cmake_tutorial/step3/CMakeLists.txt | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/c/cmake_tutorial/step3/CMakeLists.txt b/c/cmake_tutorial/step3/CMakeLists.txt index aa6257d..88faed1 100644 --- a/c/cmake_tutorial/step3/CMakeLists.txt +++ b/c/cmake_tutorial/step3/CMakeLists.txt @@ -33,3 +33,42 @@ target_link_libraries (Tutorial ${EXTRA_LIBS}) install (TARGETS Tutorial DESTINATION bin) install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h" DESTINATION include) + +# does the application run +add_test (TutorialRuns Tutorial 25) + +# does it sqrt of 25 +add_test (TutorialComp25 Tutorial 25) + +set_tests_properties (TutorialComp25 + PROPERTIES PASS_REGULAR_EXPRESSION "25 is 5") + +# does it handle negative numbers +add_test (TutorialNegative Tutorial -25) +set_tests_properties (TutorialNegative + PROPERTIES PASS_REGULAR_EXPRESSION "-25 is -nan") + +# does it handle small numbers +add_test (TutorialSmall Tutorial 0.0001) +set_tests_properties (TutorialSmall + PROPERTIES PASS_REGULAR_EXPRESSION "0.0001 is 0.01") + +# does the usage message work? +add_test (TutorialUsage Tutorial) +set_tests_properties (TutorialUsage + PROPERTIES + PASS_REGULAR_EXPRESSION "Usage:.*number") + +#define a macro to simplify adding tests, then use it +macro (do_test arg result) + add_test (TutorialComp${arg} Tutorial ${arg}) + set_tests_properties (TutorialComp${arg} + PROPERTIES PASS_REGULAR_EXPRESSION ${result}) +endmacro (do_test) + +# do a bunch of result based tests +do_test (25 "25 is 5") +do_test (0 "0 is 0") + +# enable testing +ENABLE_TESTING()