summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Rocard <kevin.rocard@intel.com>2015-03-06 10:36:40 +0100
committerEric Laurent <elaurent@google.com>2015-04-24 13:32:47 -0700
commit7fe36eead17ee1afb9ba26e1e4eb8613b559f71d (patch)
treeaa5c5d1c3de1ed4d3208534510f21eadffae5ce0
parentfe6401ed98f5546040f29d8124046840468754fa (diff)
downloadexternal_parameter-framework-7fe36eead17ee1afb9ba26e1e4eb8613b559f71d.zip
external_parameter-framework-7fe36eead17ee1afb9ba26e1e4eb8613b559f71d.tar.gz
external_parameter-framework-7fe36eead17ee1afb9ba26e1e4eb8613b559f71d.tar.bz2
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 <kevin.rocard@intel.com>
-rw-r--r--.travis.yml16
-rw-r--r--CMakeLists.txt5
-rw-r--r--CTestCustom.cmake6
3 files changed, 21 insertions, 6 deletions
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
+ )