From 7fe36eead17ee1afb9ba26e1e4eb8613b559f71d Mon Sep 17 00:00:00 2001 From: Kevin Rocard Date: Fri, 6 Mar 2015 10:36:40 +0100 Subject: Use ctest for testing Test were enabled with the enable_testing command. Nevertheless this method is very basic. Include CTest, as this cmake utility enables automatic build + test + coverage generation + memchek test (valgrind) + sending report in one command: ```make Experimental``` There are far more features added by this utility, see: http://www.cmake.org/Wiki/CMake/Testing_With_CTest#Dashboards Signed-off-by: Kevin Rocard --- .travis.yml | 16 +++++++++++----- CMakeLists.txt | 5 ++++- CTestCustom.cmake | 6 ++++++ 3 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 CTestCustom.cmake diff --git a/.travis.yml b/.travis.yml index 990f08c..92def31 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,20 +12,26 @@ before_install: - sudo apt-get update -qq install: - - sudo apt-get install --yes swig cmake g++-4.8 + - sudo apt-get install --yes swig cmake valgrind g++-4.8 - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100 - sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.8 100 # how to build script: - - cmake . && + - ( mkdir build && cd build && + cmake .. && make -j && sudo make install && - CTEST_OUTPUT_ON_FAILURE=1 make test - - cd skeleton-subsystem && + CTEST_OUTPUT_ON_FAILURE=1 make test ) + - ( cd skeleton-subsystem && cmake . && make && - sudo make install + sudo make install ) + - ( cd build && + cmake -DCMAKE_BUILD_TYPE=Debug .. && + make -j && + sudo make install && + CTEST_OUTPUT_ON_FAILURE=1 make ExperimentalTest ExperimentalCoverage ExperimentalMemCheck ) notifications: email: diff --git a/CMakeLists.txt b/CMakeLists.txt index 696e4a0..fcef282 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,10 @@ add_subdirectory(remote-processor) add_subdirectory(remote-process) -enable_testing() +include(CTest) +# Ctest requires its configuration to be placed at the build root +configure_file(CTestCustom.cmake ${CMAKE_BINARY_DIR} COPYONLY) + add_subdirectory(test/test-platform) add_subdirectory(test/test-fixed-point-parameter) diff --git a/CTestCustom.cmake b/CTestCustom.cmake new file mode 100644 index 0000000..bcf65e9 --- /dev/null +++ b/CTestCustom.cmake @@ -0,0 +1,6 @@ +SET(CTEST_CUSTOM_MEMCHECK_IGNORE + ${CTEST_CUSTOM_MEMCHECK_IGNORE} + # Python generates too many valgrind errors, + # runing python based tests would be long and useless. + fix_point_parameter + ) -- cgit v1.1