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/CMakeLists.txt | 3 + tests/ECMAddTests/multi_tests/CMakeLists.txt | 96 +++++++++++++++++++++------ tests/ECMAddTests/multi_tests/test10.cpp | 8 +++ tests/ECMAddTests/multi_tests/test11.cpp | 8 +++ tests/ECMAddTests/single_tests/CMakeLists.txt | 39 ++++++++--- tests/ECMAddTests/single_tests/test7.cpp | 8 +++ 6 files changed, 134 insertions(+), 28 deletions(-) create mode 100644 tests/ECMAddTests/multi_tests/test10.cpp create mode 100644 tests/ECMAddTests/multi_tests/test11.cpp create mode 100644 tests/ECMAddTests/single_tests/test7.cpp (limited to 'tests/ECMAddTests') diff --git a/tests/ECMAddTests/CMakeLists.txt b/tests/ECMAddTests/CMakeLists.txt index e77b33f9..b31934d4 100644 --- a/tests/ECMAddTests/CMakeLists.txt +++ b/tests/ECMAddTests/CMakeLists.txt @@ -34,6 +34,7 @@ add_check(single_tests test4.txt test5.txt test6.txt + test7.txt ) add_check(multi_tests test1.txt @@ -45,5 +46,7 @@ add_check(multi_tests test7.txt test8.txt test9.txt + test10.txt + test11.txt ) diff --git a/tests/ECMAddTests/multi_tests/CMakeLists.txt b/tests/ECMAddTests/multi_tests/CMakeLists.txt index ca434773..bad625b5 100644 --- a/tests/ECMAddTests/multi_tests/CMakeLists.txt +++ b/tests/ECMAddTests/multi_tests/CMakeLists.txt @@ -22,6 +22,8 @@ file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/test7.txt" "${CMAKE_CURRENT_BINARY_DIR}/test8.txt" "${CMAKE_CURRENT_BINARY_DIR}/test9.txt" + "${CMAKE_CURRENT_BINARY_DIR}/test10.txt" + "${CMAKE_CURRENT_BINARY_DIR}/test11.txt" ) ecm_add_tests( @@ -30,14 +32,6 @@ ecm_add_tests( test3.cpp LINK_LIBRARIES testhelper ) -# check targets exist -get_property(_dummy TARGET test1 PROPERTY TYPE) -get_property(_dummy TARGET test2 PROPERTY TYPE) -get_property(_dummy TARGET test3 PROPERTY TYPE) -# check tests exists -get_property(_dummy TEST test1 PROPERTY TIMEOUT) -get_property(_dummy TEST test2 PROPERTY TIMEOUT) -get_property(_dummy TEST test3 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") @@ -46,6 +40,9 @@ 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() +# existence check +get_property(_dummy TEST test1 PROPERTY TIMEOUT) + get_property(_is_win32 TARGET test2 PROPERTY WIN32_EXECUTABLE) if (_is_win32) message(FATAL_ERROR "test2 is a WIN32 executable when it should not be") @@ -54,6 +51,17 @@ get_property(_is_bundle TARGET test2 PROPERTY MACOSX_BUNDLE) if (_is_bundle) message(FATAL_ERROR "test2 is an OS/X bundle when it should not be") endif() +get_property(_dummy TEST test2 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() +get_property(_dummy TEST test3 PROPERTY TIMEOUT) ecm_add_tests( @@ -62,10 +70,6 @@ ecm_add_tests( LINK_LIBRARIES testhelper NAME_PREFIX pref_ ) -get_property(_dummy TARGET test4 PROPERTY TYPE) -get_property(_dummy TARGET test5 PROPERTY TYPE) -get_property(_dummy TEST pref_test4 PROPERTY TIMEOUT) -get_property(_dummy TEST pref_test5 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test4 PROPERTY WIN32_EXECUTABLE) if (_is_win32) message(FATAL_ERROR "test4 is a WIN32 executable when it should not be") @@ -74,6 +78,8 @@ get_property(_is_bundle TARGET test4 PROPERTY MACOSX_BUNDLE) if (_is_bundle) message(FATAL_ERROR "test4 is an OS/X bundle when it should not be") endif() +get_property(_dummy TEST pref_test4 PROPERTY TIMEOUT) + get_property(_is_win32 TARGET test5 PROPERTY WIN32_EXECUTABLE) if (_is_win32) message(FATAL_ERROR "test5 is a WIN32 executable when it should not be") @@ -82,6 +88,7 @@ get_property(_is_bundle TARGET test5 PROPERTY MACOSX_BUNDLE) if (_is_bundle) message(FATAL_ERROR "test5 is an OS/X bundle when it should not be") endif() +get_property(_dummy TEST pref_test5 PROPERTY TIMEOUT) ecm_add_tests( @@ -90,10 +97,6 @@ ecm_add_tests( LINK_LIBRARIES testhelper GUI ) -get_property(_dummy TARGET test6 PROPERTY TYPE) -get_property(_dummy TARGET test7 PROPERTY TYPE) -get_property(_dummy TEST test6 PROPERTY TIMEOUT) -get_property(_dummy TEST test7 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test6 PROPERTY WIN32_EXECUTABLE) if (NOT _is_win32) message(FATAL_ERROR "test6 is not a WIN32 executable when it should be") @@ -102,6 +105,8 @@ get_property(_is_bundle TARGET test6 PROPERTY MACOSX_BUNDLE) if (NOT _is_bundle) message(FATAL_ERROR "test6 is not an OS/X bundle when it should be") endif() +get_property(_dummy TEST test6 PROPERTY TIMEOUT) + get_property(_is_win32 TARGET test7 PROPERTY WIN32_EXECUTABLE) if (NOT _is_win32) message(FATAL_ERROR "test7 is not a WIN32 executable when it should be") @@ -110,6 +115,7 @@ get_property(_is_bundle TARGET test7 PROPERTY MACOSX_BUNDLE) if (NOT _is_bundle) message(FATAL_ERROR "test7 is not an OS/X bundle when it should be") endif() +get_property(_dummy TEST test7 PROPERTY TIMEOUT) ecm_add_tests( @@ -118,11 +124,9 @@ ecm_add_tests( LINK_LIBRARIES testhelper NAME_PREFIX p_ GUI + PROPERTIES + LABELS "somelabel" ) -get_property(_dummy TARGET test8 PROPERTY TYPE) -get_property(_dummy TARGET test9 PROPERTY TYPE) -get_property(_dummy TEST p_test8 PROPERTY TIMEOUT) -get_property(_dummy TEST p_test9 PROPERTY TIMEOUT) get_property(_is_win32 TARGET test8 PROPERTY WIN32_EXECUTABLE) if (NOT _is_win32) message(FATAL_ERROR "test8 is not a WIN32 executable when it should be") @@ -131,6 +135,11 @@ get_property(_is_bundle TARGET test8 PROPERTY MACOSX_BUNDLE) if (NOT _is_bundle) message(FATAL_ERROR "test8 is not an OS/X bundle when it should be") endif() +get_property(_labels TEST p_test8 PROPERTY LABELS) +if (NOT _labels STREQUAL "somelabel") + message(FATAL_ERROR "p_test8 LABELS property was \"${_labels}\", expected \"somelabel\"") +endif() + get_property(_is_win32 TARGET test9 PROPERTY WIN32_EXECUTABLE) if (NOT _is_win32) message(FATAL_ERROR "test9 is not a WIN32 executable when it should be") @@ -139,4 +148,51 @@ get_property(_is_bundle TARGET test9 PROPERTY MACOSX_BUNDLE) if (NOT _is_bundle) message(FATAL_ERROR "test9 is not an OS/X bundle when it should be") endif() +get_property(_labels TEST p_test9 PROPERTY LABELS) +if (NOT _labels STREQUAL "somelabel") + message(FATAL_ERROR "p_test9 LABELS property was \"${_labels}\", expected \"somelabel\"") +endif() + + +ecm_add_tests( + test10.cpp + test11.cpp + LINK_LIBRARIES testhelper + PROPERTIES + LABELS "somelabel" + RUN_SERIAL TRUE + ) +get_property(_is_win32 TARGET test10 PROPERTY WIN32_EXECUTABLE) +if (_is_win32) + message(FATAL_ERROR "test10 is a WIN32 executable when it should not be") +endif() +get_property(_is_bundle TARGET test10 PROPERTY MACOSX_BUNDLE) +if (_is_bundle) + message(FATAL_ERROR "test10 is an OS/X bundle when it should not be") +endif() +get_property(_labels TEST test10 PROPERTY LABELS) +if (NOT _labels STREQUAL "somelabel") + message(FATAL_ERROR "test10 LABELS property was \"${_labels}\", expected \"somelabel\"") +endif() +get_property(_run_serial TEST test10 PROPERTY RUN_SERIAL) +if (NOT _run_serial) + message(FATAL_ERROR "test10 LABELS property was \"${_run_serial}\", expected TRUE") +endif() + +get_property(_is_win32 TARGET test11 PROPERTY WIN32_EXECUTABLE) +if (_is_win32) + message(FATAL_ERROR "test11 is a WIN32 executable when it should not be") +endif() +get_property(_is_bundle TARGET test11 PROPERTY MACOSX_BUNDLE) +if (_is_bundle) + message(FATAL_ERROR "test11 is an OS/X bundle when it should not be") +endif() +get_property(_labels TEST test11 PROPERTY LABELS) +if (NOT _labels STREQUAL "somelabel") + message(FATAL_ERROR "test11 LABELS property was \"${_labels}\", expected \"somelabel\"") +endif() +get_property(_run_serial TEST test11 PROPERTY RUN_SERIAL) +if (NOT _run_serial) + message(FATAL_ERROR "test11 LABELS property was \"${_run_serial}\", expected TRUE") +endif() diff --git a/tests/ECMAddTests/multi_tests/test10.cpp b/tests/ECMAddTests/multi_tests/test10.cpp new file mode 100644 index 00000000..a34a39df --- /dev/null +++ b/tests/ECMAddTests/multi_tests/test10.cpp @@ -0,0 +1,8 @@ +#include "testhelper.h" + +int main() +{ + make_test_file("test10.txt"); + return 0; +} + diff --git a/tests/ECMAddTests/multi_tests/test11.cpp b/tests/ECMAddTests/multi_tests/test11.cpp new file mode 100644 index 00000000..82641bbc --- /dev/null +++ b/tests/ECMAddTests/multi_tests/test11.cpp @@ -0,0 +1,8 @@ +#include "testhelper.h" + +int main() +{ + make_test_file("test11.txt"); + return 0; +} + 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