summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-06-22 13:46:09 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-03 06:51:52 +0200
commit26b79c6115cb9cfc8ed03e5f94c39b36bb02d873 (patch)
tree2aebcc49b68b5b7ffb934b8d09ea8cd9945062a4 /tests
parent66c5e65e855d1b8b7d90ae24f35e8e2b793199d2 (diff)
downloadqttools-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.pro1
-rw-r--r--tests/auto/cmake/CMakeLists.txt33
-rw-r--r--tests/auto/cmake/cmake.pro5
-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.txt70
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)
-