diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-06-22 13:46:09 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-03 06:51:52 +0200 |
commit | 26b79c6115cb9cfc8ed03e5f94c39b36bb02d873 (patch) | |
tree | 2aebcc49b68b5b7ffb934b8d09ea8cd9945062a4 /tests | |
parent | 66c5e65e855d1b8b7d90ae24f35e8e2b793199d2 (diff) | |
download | qttools-26b79c6115cb9cfc8ed03e5f94c39b36bb02d873.tar.gz |
Run the cmake unit tests as part of the qttools CI.
Change-Id: I565e715ba869298d4a8b9e4b42b7b41587336b9b
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/auto.pro | 1 | ||||
-rw-r--r-- | tests/auto/cmake/CMakeLists.txt | 33 | ||||
-rw-r--r-- | tests/auto/cmake/cmake.pro | 5 | ||||
-rw-r--r-- | tests/auto/cmake/test_translation_macros/CMakeLists.txt (renamed from tests/manual/cmake/pass2/CMakeLists.txt) | 2 | ||||
-rw-r--r-- | tests/auto/cmake/test_translation_macros/myi18nobject.cpp (renamed from tests/manual/cmake/pass2/myi18nobject.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/cmake/test_translation_macros/myobject_de.ts (renamed from tests/manual/cmake/pass2/myobject_de.ts) | 0 | ||||
-rw-r--r-- | tests/auto/cmake/test_translation_macros/some_dir/some_include.h (renamed from tests/manual/cmake/pass2/some_dir/some_include.h) | 0 | ||||
-rw-r--r-- | tests/manual/cmake/CMakeLists.txt | 70 |
8 files changed, 40 insertions, 71 deletions
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index b3140e72e..17c84013e 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -7,6 +7,7 @@ SUBDIRS=\ qhelpgenerator \ qhelpindexmodel \ qhelpprojectdata \ + cmake # These tests don't make sense for cross-compiled builds cross_compile:SUBDIRS -= host.pro diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt new file mode 100644 index 000000000..a6bfdc942 --- /dev/null +++ b/tests/auto/cmake/CMakeLists.txt @@ -0,0 +1,33 @@ + +# This is an automatic test for the CMake configuration files. +# To run it, +# 1) mkdir build # Create a build directory +# 2) cd build +# 3) cmake .. # Run cmake on this directory. +# 4) ctest # Run ctest +# +# The expected output is something like: +# +# Start 1: test_translation_macros +# 1/2 Test #1: test_translation_macros .......... Passed 0.98 sec +# Start 2: test_modules +# 2/2 Test #2: test_modules ..................... Passed 1.41 sec +# +# Note that if Qt is not installed, or if it is installed to a +# non-standard prefix, the environment variable CMAKE_PREFIX_PATH +# needs to be set to the installation prefix or build prefix of Qt +# before running these tests. + + +cmake_minimum_required(VERSION 2.8) + +project(qmake_cmake_files) + +enable_testing() + +find_package(Qt5Core REQUIRED) + +include("${_Qt5CTestMacros}") + +expect_pass(test_translation_macros) + diff --git a/tests/auto/cmake/cmake.pro b/tests/auto/cmake/cmake.pro new file mode 100644 index 000000000..bf2dbcb77 --- /dev/null +++ b/tests/auto/cmake/cmake.pro @@ -0,0 +1,5 @@ + +# Cause make to do nothing. +TEMPLATE = subdirs + +CONFIG += ctest_testcase diff --git a/tests/manual/cmake/pass2/CMakeLists.txt b/tests/auto/cmake/test_translation_macros/CMakeLists.txt index c11bf750f..f620059c3 100644 --- a/tests/manual/cmake/pass2/CMakeLists.txt +++ b/tests/auto/cmake/test_translation_macros/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.8) -project(pass2) +project(test_translation_macros) find_package(Qt5Core REQUIRED) find_package(Qt5LinguistTools REQUIRED) diff --git a/tests/manual/cmake/pass2/myi18nobject.cpp b/tests/auto/cmake/test_translation_macros/myi18nobject.cpp index f4287d89c..f4287d89c 100644 --- a/tests/manual/cmake/pass2/myi18nobject.cpp +++ b/tests/auto/cmake/test_translation_macros/myi18nobject.cpp diff --git a/tests/manual/cmake/pass2/myobject_de.ts b/tests/auto/cmake/test_translation_macros/myobject_de.ts index 3b8f8bb55..3b8f8bb55 100644 --- a/tests/manual/cmake/pass2/myobject_de.ts +++ b/tests/auto/cmake/test_translation_macros/myobject_de.ts diff --git a/tests/manual/cmake/pass2/some_dir/some_include.h b/tests/auto/cmake/test_translation_macros/some_dir/some_include.h index fcdacc8cb..fcdacc8cb 100644 --- a/tests/manual/cmake/pass2/some_dir/some_include.h +++ b/tests/auto/cmake/test_translation_macros/some_dir/some_include.h diff --git a/tests/manual/cmake/CMakeLists.txt b/tests/manual/cmake/CMakeLists.txt deleted file mode 100644 index b7e11d64b..000000000 --- a/tests/manual/cmake/CMakeLists.txt +++ /dev/null @@ -1,70 +0,0 @@ - -# This is an automatic test for the CMake configuration files. -# To run it, -# 1) mkdir build # Create a build directory -# 2) cd build -# 3) cmake .. # Run cmake on this directory. -# 4) ctest # Run ctest -# -# The expected output is something like: -# -# Start 1: pass1 -# 1/2 Test #1: pass1 ............................ Passed 1.88 sec -# Start 2: pass2 -# 2/2 Test #2: pass2 ............................ Passed 0.60 sec -# -# Note that if Qt is not installed, or if it is installed to a -# non-standard prefix, the environment variable CMAKE_PREFIX_PATH -# needs to be set to the installation prefix or build prefix of Qt -# before running these tests. - -cmake_minimum_required(VERSION 2.8) - -project(qmake_cmake_files) - -enable_testing() - -macro(expect_pass _dir) - string(REPLACE "(" "_" testname "${_dir}") - string(REPLACE ")" "_" testname "${testname}") - add_test(${testname} ${CMAKE_CTEST_COMMAND} - --build-and-test - "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}" - "${CMAKE_CURRENT_BINARY_DIR}/${_dir}" - --build-generator ${CMAKE_GENERATOR} - --build-makeprogram ${CMAKE_MAKE_PROGRAM} - ) -endmacro() - -macro(expect_fail _dir) - string(REPLACE "(" "_" testname "${_dir}") - string(REPLACE ")" "_" testname "${testname}") - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}") - file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}") - file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/CMakeLists.txt" - " - cmake_minimum_required(VERSION 2.8) - project(${_dir}_build) - - try_compile(Result \${CMAKE_CURRENT_BINARY_DIR}/${_dir} - \${CMAKE_CURRENT_SOURCE_DIR}/${_dir} - ${_dir} - OUTPUT_VARIABLE Out - ) - message(\"\${Out}\") - if (Result) - message(SEND_ERROR \"Succeeded build which should fail\") - endif() - " - ) - add_test(${testname} ${CMAKE_CTEST_COMMAND} - --build-and-test - "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}" - "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/build" - --build-generator ${CMAKE_GENERATOR} - --build-makeprogram ${CMAKE_MAKE_PROGRAM} - ) -endmacro() - -expect_pass(pass2) - |