diff options
author | Robert Adam <dev@robert-adam.de> | 2020-09-08 17:16:43 +0300 |
---|---|---|
committer | Robert Adam <dev@robert-adam.de> | 2020-09-11 10:16:34 +0300 |
commit | 26c30a11fee2f91ec8b31a36978a20e3e67ccafb (patch) | |
tree | d2c20a2bc4b40d2d1218bf5df5c87aebb8f2b63e /src | |
parent | 0ba1eac51b5f4443e6fbb1bc3e157403903e9a01 (diff) |
BUILD(cmake): Select tests based on built components
As some tests only make sense to be run if a given component is included
in the build (client/server), this commit makes sure no unnecessary
tests are built (and run).
Furthermore it removed the dependency of some tests on a certain target
having a source-dir property.
And finally it also removed the references to "NO_USE_SRV" from
TestServerResolver as this macro is never defined anywhere (it's
probably a remnant of the old qmake system).
Co-Authored-By: Sebastian Parborg <darkdefende@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/tests/CMakeLists.txt | 38 | ||||
-rw-r--r-- | src/tests/TestCrypt/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/tests/TestServerResolver/TestServerResolver.cpp | 8 | ||||
-rw-r--r-- | src/tests/TestXMLTools/CMakeLists.txt | 2 |
4 files changed, 34 insertions, 18 deletions
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index bdfd06903..685ccb449 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -5,11 +5,37 @@ find_pkg(Qt5 COMPONENTS Test REQUIRED) -file(GLOB ITEMS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/*") +set(TESTS "") -foreach(ITEM ${ITEMS}) - if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${ITEM}") - add_subdirectory(${ITEM}) - set_target_properties(${ITEM} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/tests") - endif() +macro(use_test TEST_NAME) + add_subdirectory("${TEST_NAME}") + list(APPEND TESTS "${TEST_NAME}") +endmacro() + +if(client) + use_test("TestXMLTools") +endif() + +if(server) + use_test("TestCrypt") +endif() + +# Shared tests +use_test("TestCryptographicHash") +use_test("TestCryptographicRandom") +use_test("TestFFDHE") +use_test("TestPacketDataStream") +use_test("TestPasswordGenerator") +use_test("TestSelfSignedCertificate") +use_test("TestServerAddress") +use_test("TestServerResolver") +use_test("TestSSLLocks") +use_test("TestStdAbs") +use_test("TestTimer") +use_test("TestUnresolvedServerAddress") + + +# Set output directory +foreach(CURRENT_TEST IN LISTS TESTS) + set_target_properties("${CURRENT_TEST}" PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/tests") endforeach() diff --git a/src/tests/TestCrypt/CMakeLists.txt b/src/tests/TestCrypt/CMakeLists.txt index 302e8a262..1500ae22f 100644 --- a/src/tests/TestCrypt/CMakeLists.txt +++ b/src/tests/TestCrypt/CMakeLists.txt @@ -7,9 +7,7 @@ add_executable(TestCrypt TestCrypt.cpp) set_target_properties(TestCrypt PROPERTIES AUTOMOC ON) -get_target_property(MURMUR_SOURCE_DIR murmur SOURCE_DIR) - -target_include_directories(TestCrypt PRIVATE ${MURMUR_SOURCE_DIR}) +target_include_directories(TestCrypt PRIVATE "${CMAKE_SOURCE_DIR}/src/murmur") target_link_libraries(TestCrypt PRIVATE shared Qt5::Test) diff --git a/src/tests/TestServerResolver/TestServerResolver.cpp b/src/tests/TestServerResolver/TestServerResolver.cpp index 786792080..cd2fbff3e 100644 --- a/src/tests/TestServerResolver/TestServerResolver.cpp +++ b/src/tests/TestServerResolver/TestServerResolver.cpp @@ -27,10 +27,6 @@ class TestServerResolver : public QObject { }; void TestServerResolver::simpleSrv() { -#ifdef USE_NO_SRV - return; -#endif - // Qt 5's SRV resolver does not work in Wine. // For more info, see https://bugs.winehq.org/show_bug.cgi?id=44296 if (PlatformCheck::IsWine()) { @@ -80,10 +76,6 @@ void TestServerResolver::simpleSrv() { } void TestServerResolver::srvCustomPort() { -#ifdef USE_NO_SRV - return; -#endif - // Qt 5's SRV resolver does not work in Wine. // For more info, see https://bugs.winehq.org/show_bug.cgi?id=44296 if (PlatformCheck::IsWine()) { diff --git a/src/tests/TestXMLTools/CMakeLists.txt b/src/tests/TestXMLTools/CMakeLists.txt index 0290f9b5f..0eb8aac12 100644 --- a/src/tests/TestXMLTools/CMakeLists.txt +++ b/src/tests/TestXMLTools/CMakeLists.txt @@ -3,7 +3,7 @@ # that can be found in the LICENSE file at the root of the # Mumble source tree or at <https://www.mumble.info/LICENSE>. -get_target_property(MUMBLE_SOURCE_DIR mumble SOURCE_DIR) +set(MUMBLE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/src/mumble") set(TESTXMLTOOLS_SOURCES TestXMLTools.cpp |