From 1b636b43d2bf4dca0332a2e2b36affa67fbe1e0b Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Mon, 11 May 2015 13:56:28 +0100 Subject: Add unit tests for ECMAddTests module. REVIEW: 123722 --- tests/ECMAddTests/single_tests/CMakeLists.txt | 122 ++++++++++++++++++++++++++ tests/ECMAddTests/single_tests/test1.cpp | 8 ++ tests/ECMAddTests/single_tests/test2.cpp | 8 ++ tests/ECMAddTests/single_tests/test3.cpp | 8 ++ tests/ECMAddTests/single_tests/test4.cpp | 8 ++ tests/ECMAddTests/single_tests/test5.cpp | 8 ++ tests/ECMAddTests/single_tests/test6.cpp | 8 ++ tests/ECMAddTests/single_tests/test6body.cpp | 7 ++ 8 files changed, 177 insertions(+) create mode 100644 tests/ECMAddTests/single_tests/CMakeLists.txt create mode 100644 tests/ECMAddTests/single_tests/test1.cpp create mode 100644 tests/ECMAddTests/single_tests/test2.cpp create mode 100644 tests/ECMAddTests/single_tests/test3.cpp create mode 100644 tests/ECMAddTests/single_tests/test4.cpp create mode 100644 tests/ECMAddTests/single_tests/test5.cpp create mode 100644 tests/ECMAddTests/single_tests/test6.cpp create mode 100644 tests/ECMAddTests/single_tests/test6body.cpp (limited to 'tests/ECMAddTests/single_tests') diff --git a/tests/ECMAddTests/single_tests/CMakeLists.txt b/tests/ECMAddTests/single_tests/CMakeLists.txt new file mode 100644 index 00000000..6af3857b --- /dev/null +++ b/tests/ECMAddTests/single_tests/CMakeLists.txt @@ -0,0 +1,122 @@ +project(ECMAddTests) +cmake_minimum_required(VERSION 2.8.12) + +set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules) +set(CMAKE_MODULE_PATH "${ECM_MODULE_DIR}") + +add_library(testhelper STATIC ../testhelper.cpp) +target_include_directories(testhelper PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..") + +enable_testing() + +include(ECMAddTests) + +# clean up to avoid false-positives from check_files.cmake +file(REMOVE + "${CMAKE_CURRENT_BINARY_DIR}/test1.txt" + "${CMAKE_CURRENT_BINARY_DIR}/test2.txt" + "${CMAKE_CURRENT_BINARY_DIR}/test3.txt" + "${CMAKE_CURRENT_BINARY_DIR}/test4.txt" + "${CMAKE_CURRENT_BINARY_DIR}/test5.txt" + "${CMAKE_CURRENT_BINARY_DIR}/test6.txt" + ) + +ecm_add_test(test1.cpp + LINK_LIBRARIES testhelper + ) +# check target exists +get_property(_dummy TARGET test1 PROPERTY TYPE) +# check test exists +get_property(_dummy TEST test1 PROPERTY TIMEOUT) +get_property(_is_win32 TARGET test1 PROPERTY WIN32_EXECUTABLE) +if (_is_win32) + message(FATAL_ERROR "test1 is a WIN32 executable when it should not be") +endif() +get_property(_is_bundle TARGET test1 PROPERTY MACOSX_BUNDLE) +if (_is_bundle) + message(FATAL_ERROR "test1 is an OS/X bundle when it should not be") +endif() + + +ecm_add_test(test2.cpp + LINK_LIBRARIES testhelper + TEST_NAME named_test + ) +get_property(_dummy TARGET named_test PROPERTY TYPE) +get_property(_dummy TEST named_test PROPERTY TIMEOUT) +get_property(_is_win32 TARGET named_test PROPERTY WIN32_EXECUTABLE) +if (_is_win32) + message(FATAL_ERROR "named_test is a WIN32 executable when it should not be") +endif() +get_property(_is_bundle TARGET named_test PROPERTY MACOSX_BUNDLE) +if (_is_bundle) + message(FATAL_ERROR "named_test is an OS/X bundle when it should not be") +endif() + + +ecm_add_test(test3.cpp + LINK_LIBRARIES testhelper + NAME_PREFIX prefix_ + ) +get_property(_dummy TARGET test3 PROPERTY TYPE) +get_property(_dummy TEST prefix_test3 PROPERTY TIMEOUT) +get_property(_is_win32 TARGET test3 PROPERTY WIN32_EXECUTABLE) +if (_is_win32) + message(FATAL_ERROR "test3 is a WIN32 executable when it should not be") +endif() +get_property(_is_bundle TARGET test3 PROPERTY MACOSX_BUNDLE) +if (_is_bundle) + message(FATAL_ERROR "test3 is an OS/X bundle when it should not be") +endif() + + +ecm_add_test(test4.cpp + LINK_LIBRARIES testhelper + GUI + ) +get_property(_dummy TARGET test4 PROPERTY TYPE) +get_property(_dummy TEST test4 PROPERTY TIMEOUT) +get_property(_is_win32 TARGET test4 PROPERTY WIN32_EXECUTABLE) +if (NOT _is_win32) + message(FATAL_ERROR "test4 is not a WIN32 executable when it should be") +endif() +get_property(_is_bundle TARGET test4 PROPERTY MACOSX_BUNDLE) +if (NOT _is_bundle) + message(FATAL_ERROR "test4 is not an OS/X bundle when it should be") +endif() + + +ecm_add_test(test5.cpp + LINK_LIBRARIES testhelper + TEST_NAME combined_test + NAME_PREFIX another_prefix_ + GUI + ) +get_property(_dummy TARGET combined_test PROPERTY TYPE) +get_property(_dummy TEST another_prefix_combined_test PROPERTY TIMEOUT) +get_property(_is_win32 TARGET combined_test PROPERTY WIN32_EXECUTABLE) +if (NOT _is_win32) + message(FATAL_ERROR "combined_test is not a WIN32 executable when it should be") +endif() +get_property(_is_bundle TARGET combined_test PROPERTY MACOSX_BUNDLE) +if (NOT _is_bundle) + message(FATAL_ERROR "combined_test is not an OS/X bundle when it should be") +endif() + + +ecm_add_test(test6.cpp test6body.cpp + LINK_LIBRARIES testhelper + TEST_NAME multifile_test + ) +get_property(_dummy TARGET multifile_test PROPERTY TYPE) +get_property(_dummy TEST multifile_test PROPERTY TIMEOUT) +get_property(_is_win32 TARGET multifile_test PROPERTY WIN32_EXECUTABLE) +if (_is_win32) + message(FATAL_ERROR "multifile_test is a WIN32 executable when it should not be") +endif() +get_property(_is_bundle TARGET multifile_test PROPERTY MACOSX_BUNDLE) +if (_is_bundle) + message(FATAL_ERROR "multifile_test is an OS/X bundle when it should not be") +endif() + + diff --git a/tests/ECMAddTests/single_tests/test1.cpp b/tests/ECMAddTests/single_tests/test1.cpp new file mode 100644 index 00000000..e5482865 --- /dev/null +++ b/tests/ECMAddTests/single_tests/test1.cpp @@ -0,0 +1,8 @@ +#include "testhelper.h" + +int main() +{ + make_test_file("test1.txt"); + return 0; +} + diff --git a/tests/ECMAddTests/single_tests/test2.cpp b/tests/ECMAddTests/single_tests/test2.cpp new file mode 100644 index 00000000..7f45bb56 --- /dev/null +++ b/tests/ECMAddTests/single_tests/test2.cpp @@ -0,0 +1,8 @@ +#include "testhelper.h" + +int main() +{ + make_test_file("test2.txt"); + return 0; +} + diff --git a/tests/ECMAddTests/single_tests/test3.cpp b/tests/ECMAddTests/single_tests/test3.cpp new file mode 100644 index 00000000..142b2765 --- /dev/null +++ b/tests/ECMAddTests/single_tests/test3.cpp @@ -0,0 +1,8 @@ +#include "testhelper.h" + +int main() +{ + make_test_file("test3.txt"); + return 0; +} + diff --git a/tests/ECMAddTests/single_tests/test4.cpp b/tests/ECMAddTests/single_tests/test4.cpp new file mode 100644 index 00000000..1ba9b148 --- /dev/null +++ b/tests/ECMAddTests/single_tests/test4.cpp @@ -0,0 +1,8 @@ +#include "testhelper.h" + +int main() +{ + make_test_file("test4.txt"); + return 0; +} + diff --git a/tests/ECMAddTests/single_tests/test5.cpp b/tests/ECMAddTests/single_tests/test5.cpp new file mode 100644 index 00000000..987af36b --- /dev/null +++ b/tests/ECMAddTests/single_tests/test5.cpp @@ -0,0 +1,8 @@ +#include "testhelper.h" + +int main() +{ + make_test_file("test5.txt"); + return 0; +} + diff --git a/tests/ECMAddTests/single_tests/test6.cpp b/tests/ECMAddTests/single_tests/test6.cpp new file mode 100644 index 00000000..33cd0421 --- /dev/null +++ b/tests/ECMAddTests/single_tests/test6.cpp @@ -0,0 +1,8 @@ +void test_body(); + +int main() +{ + test_body(); + return 0; +} + diff --git a/tests/ECMAddTests/single_tests/test6body.cpp b/tests/ECMAddTests/single_tests/test6body.cpp new file mode 100644 index 00000000..c3332738 --- /dev/null +++ b/tests/ECMAddTests/single_tests/test6body.cpp @@ -0,0 +1,7 @@ +#include "testhelper.h" + +void test_body() +{ + make_test_file("test6.txt"); +} + -- cgit v1.2.1 From 0c224194ea7f12eaed32af746fc9138537f1919c Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Mon, 11 May 2015 13:56:28 +0100 Subject: Add PROPERTIES argument to ecm_add_test and ecm_add_tests. This is particularly useful with ecm_add_tests, where you may want to force a suite of tests to run in serial, or alter the timeout for multiple tests at once. BUG: 345797 REVIEW: 123722 --- tests/ECMAddTests/single_tests/CMakeLists.txt | 39 +++++++++++++++++++++------ tests/ECMAddTests/single_tests/test7.cpp | 8 ++++++ 2 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 tests/ECMAddTests/single_tests/test7.cpp (limited to 'tests/ECMAddTests/single_tests') diff --git a/tests/ECMAddTests/single_tests/CMakeLists.txt b/tests/ECMAddTests/single_tests/CMakeLists.txt index 6af3857b..de1ae6f6 100644 --- a/tests/ECMAddTests/single_tests/CMakeLists.txt +++ b/tests/ECMAddTests/single_tests/CMakeLists.txt @@ -19,13 +19,12 @@ file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/test4.txt" "${CMAKE_CURRENT_BINARY_DIR}/test5.txt" "${CMAKE_CURRENT_BINARY_DIR}/test6.txt" + "${CMAKE_CURRENT_BINARY_DIR}/test7.txt" ) ecm_add_test(test1.cpp LINK_LIBRARIES testhelper ) -# check target exists -get_property(_dummy TARGET test1 PROPERTY TYPE) # check test exists get_property(_dummy TEST test1 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test1 PROPERTY WIN32_EXECUTABLE) @@ -42,7 +41,6 @@ ecm_add_test(test2.cpp LINK_LIBRARIES testhelper TEST_NAME named_test ) -get_property(_dummy TARGET named_test PROPERTY TYPE) get_property(_dummy TEST named_test PROPERTY TIMEOUT) get_property(_is_win32 TARGET named_test PROPERTY WIN32_EXECUTABLE) if (_is_win32) @@ -58,7 +56,6 @@ ecm_add_test(test3.cpp LINK_LIBRARIES testhelper NAME_PREFIX prefix_ ) -get_property(_dummy TARGET test3 PROPERTY TYPE) get_property(_dummy TEST prefix_test3 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test3 PROPERTY WIN32_EXECUTABLE) if (_is_win32) @@ -74,7 +71,6 @@ ecm_add_test(test4.cpp LINK_LIBRARIES testhelper GUI ) -get_property(_dummy TARGET test4 PROPERTY TYPE) get_property(_dummy TEST test4 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test4 PROPERTY WIN32_EXECUTABLE) if (NOT _is_win32) @@ -91,9 +87,10 @@ ecm_add_test(test5.cpp TEST_NAME combined_test NAME_PREFIX another_prefix_ GUI + PROPERTIES + LABELS "lab" + RUN_SERIAL TRUE ) -get_property(_dummy TARGET combined_test PROPERTY TYPE) -get_property(_dummy TEST another_prefix_combined_test PROPERTY TIMEOUT) get_property(_is_win32 TARGET combined_test PROPERTY WIN32_EXECUTABLE) if (NOT _is_win32) message(FATAL_ERROR "combined_test is not a WIN32 executable when it should be") @@ -102,13 +99,20 @@ get_property(_is_bundle TARGET combined_test PROPERTY MACOSX_BUNDLE) if (NOT _is_bundle) message(FATAL_ERROR "combined_test is not an OS/X bundle when it should be") endif() +get_property(_labels TEST another_prefix_combined_test PROPERTY LABELS) +if (NOT _labels STREQUAL "lab") + message(FATAL_ERROR "another_prefix_combined_test LABELS property was \"${_labels}\", expected \"lab\"") +endif() +get_property(_run_serial TEST another_prefix_combined_test PROPERTY RUN_SERIAL) +if (NOT _run_serial) + message(FATAL_ERROR "another_prefix_combined_test LABELS property was \"${_run_serial}\", expected TRUE") +endif() ecm_add_test(test6.cpp test6body.cpp LINK_LIBRARIES testhelper TEST_NAME multifile_test ) -get_property(_dummy TARGET multifile_test PROPERTY TYPE) get_property(_dummy TEST multifile_test PROPERTY TIMEOUT) get_property(_is_win32 TARGET multifile_test PROPERTY WIN32_EXECUTABLE) if (_is_win32) @@ -120,3 +124,22 @@ if (_is_bundle) endif() +ecm_add_test(test7.cpp + LINK_LIBRARIES testhelper + PROPERTIES + LABELS "somelabel" + ) +get_property(_dummy TEST test7 PROPERTY TIMEOUT) +get_property(_is_win32 TARGET test7 PROPERTY WIN32_EXECUTABLE) +if (_is_win32) + message(FATAL_ERROR "test7 is a WIN32 executable when it should not be") +endif() +get_property(_is_bundle TARGET test7 PROPERTY MACOSX_BUNDLE) +if (_is_bundle) + message(FATAL_ERROR "test7 is an OS/X bundle when it should not be") +endif() +get_property(_labels TEST test7 PROPERTY LABELS) +if (NOT _labels STREQUAL "somelabel") + message(FATAL_ERROR "test7 LABELS property was \"${_labels}\", expected \"somelabel\"") +endif() + diff --git a/tests/ECMAddTests/single_tests/test7.cpp b/tests/ECMAddTests/single_tests/test7.cpp new file mode 100644 index 00000000..069859e7 --- /dev/null +++ b/tests/ECMAddTests/single_tests/test7.cpp @@ -0,0 +1,8 @@ +#include "testhelper.h" + +int main() +{ + make_test_file("test7.txt"); + return 0; +} + -- cgit v1.2.1 From 70b13693478b296b8a3cd1654baa8013434358c5 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Sat, 16 May 2015 14:06:34 +0100 Subject: Revert "Add PROPERTIES argument to ecm_add_test and ecm_add_tests." This reverts commit 0c224194ea7f12eaed32af746fc9138537f1919c. Stephen Kelly pointed out that this is probably not the best approach to the problem, and runs counter to the direction KDE's CMake code has been going (splitting functions up and using CMake built-ins where possible). I have a better solution in mind, which I'll post a review for later. CCMAIL: kde-buildsystem@kde.org CCBUG: 345797 --- tests/ECMAddTests/single_tests/CMakeLists.txt | 39 ++++++--------------------- tests/ECMAddTests/single_tests/test7.cpp | 8 ------ 2 files changed, 8 insertions(+), 39 deletions(-) delete mode 100644 tests/ECMAddTests/single_tests/test7.cpp (limited to 'tests/ECMAddTests/single_tests') diff --git a/tests/ECMAddTests/single_tests/CMakeLists.txt b/tests/ECMAddTests/single_tests/CMakeLists.txt index de1ae6f6..6af3857b 100644 --- a/tests/ECMAddTests/single_tests/CMakeLists.txt +++ b/tests/ECMAddTests/single_tests/CMakeLists.txt @@ -19,12 +19,13 @@ file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/test4.txt" "${CMAKE_CURRENT_BINARY_DIR}/test5.txt" "${CMAKE_CURRENT_BINARY_DIR}/test6.txt" - "${CMAKE_CURRENT_BINARY_DIR}/test7.txt" ) ecm_add_test(test1.cpp LINK_LIBRARIES testhelper ) +# check target exists +get_property(_dummy TARGET test1 PROPERTY TYPE) # check test exists get_property(_dummy TEST test1 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test1 PROPERTY WIN32_EXECUTABLE) @@ -41,6 +42,7 @@ ecm_add_test(test2.cpp LINK_LIBRARIES testhelper TEST_NAME named_test ) +get_property(_dummy TARGET named_test PROPERTY TYPE) get_property(_dummy TEST named_test PROPERTY TIMEOUT) get_property(_is_win32 TARGET named_test PROPERTY WIN32_EXECUTABLE) if (_is_win32) @@ -56,6 +58,7 @@ ecm_add_test(test3.cpp LINK_LIBRARIES testhelper NAME_PREFIX prefix_ ) +get_property(_dummy TARGET test3 PROPERTY TYPE) get_property(_dummy TEST prefix_test3 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test3 PROPERTY WIN32_EXECUTABLE) if (_is_win32) @@ -71,6 +74,7 @@ ecm_add_test(test4.cpp LINK_LIBRARIES testhelper GUI ) +get_property(_dummy TARGET test4 PROPERTY TYPE) get_property(_dummy TEST test4 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test4 PROPERTY WIN32_EXECUTABLE) if (NOT _is_win32) @@ -87,10 +91,9 @@ ecm_add_test(test5.cpp TEST_NAME combined_test NAME_PREFIX another_prefix_ GUI - PROPERTIES - LABELS "lab" - RUN_SERIAL TRUE ) +get_property(_dummy TARGET combined_test PROPERTY TYPE) +get_property(_dummy TEST another_prefix_combined_test PROPERTY TIMEOUT) get_property(_is_win32 TARGET combined_test PROPERTY WIN32_EXECUTABLE) if (NOT _is_win32) message(FATAL_ERROR "combined_test is not a WIN32 executable when it should be") @@ -99,20 +102,13 @@ get_property(_is_bundle TARGET combined_test PROPERTY MACOSX_BUNDLE) if (NOT _is_bundle) message(FATAL_ERROR "combined_test is not an OS/X bundle when it should be") endif() -get_property(_labels TEST another_prefix_combined_test PROPERTY LABELS) -if (NOT _labels STREQUAL "lab") - message(FATAL_ERROR "another_prefix_combined_test LABELS property was \"${_labels}\", expected \"lab\"") -endif() -get_property(_run_serial TEST another_prefix_combined_test PROPERTY RUN_SERIAL) -if (NOT _run_serial) - message(FATAL_ERROR "another_prefix_combined_test LABELS property was \"${_run_serial}\", expected TRUE") -endif() ecm_add_test(test6.cpp test6body.cpp LINK_LIBRARIES testhelper TEST_NAME multifile_test ) +get_property(_dummy TARGET multifile_test PROPERTY TYPE) get_property(_dummy TEST multifile_test PROPERTY TIMEOUT) get_property(_is_win32 TARGET multifile_test PROPERTY WIN32_EXECUTABLE) if (_is_win32) @@ -124,22 +120,3 @@ if (_is_bundle) endif() -ecm_add_test(test7.cpp - LINK_LIBRARIES testhelper - PROPERTIES - LABELS "somelabel" - ) -get_property(_dummy TEST test7 PROPERTY TIMEOUT) -get_property(_is_win32 TARGET test7 PROPERTY WIN32_EXECUTABLE) -if (_is_win32) - message(FATAL_ERROR "test7 is a WIN32 executable when it should not be") -endif() -get_property(_is_bundle TARGET test7 PROPERTY MACOSX_BUNDLE) -if (_is_bundle) - message(FATAL_ERROR "test7 is an OS/X bundle when it should not be") -endif() -get_property(_labels TEST test7 PROPERTY LABELS) -if (NOT _labels STREQUAL "somelabel") - message(FATAL_ERROR "test7 LABELS property was \"${_labels}\", expected \"somelabel\"") -endif() - diff --git a/tests/ECMAddTests/single_tests/test7.cpp b/tests/ECMAddTests/single_tests/test7.cpp deleted file mode 100644 index 069859e7..00000000 --- a/tests/ECMAddTests/single_tests/test7.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "testhelper.h" - -int main() -{ - make_test_file("test7.txt"); - return 0; -} - -- cgit v1.2.1