annotate ui/tests/CMakeLists.txt @ 496:fa3a7ebf0049

Move some common UI code into a library to avoid recompiling for each test
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 25 Apr 2014 10:15:39 +0000
parents a53286e5b126
children bedeb38c244a
rev   line source
405
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 331
diff changeset
1 # Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 331
diff changeset
2 # Software engineering by Intevation GmbH
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 331
diff changeset
3 #
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 331
diff changeset
4 # This file is Free Software under the GNU GPL (v>=2)
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 331
diff changeset
5 # and comes with ABSOLUTELY NO WARRANTY!
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 331
diff changeset
6 # See LICENSE.txt for details.
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 331
diff changeset
7
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
8 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
9
304
eecc06f714fd Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 298
diff changeset
10 include_directories(${CMAKE_CURRENT_BINARY_DIR}
eecc06f714fd Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 298
diff changeset
11 ${CMAKE_SOURCE_DIR}/ui
eecc06f714fd Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 298
diff changeset
12 ${CMAKE_SOURCE_DIR}/common
eecc06f714fd Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 298
diff changeset
13 ${CMAKE_SOURCE_DIR}/cinst)
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
14
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
15 find_package(Qt5Test)
140
0e9a244e0ede Added Qt5Test include directory.
Raimund Renkert <rrenkert@intevation.de>
parents: 139
diff changeset
16 include_directories(${Qt5Test_INCLUDE_DIRS})
43
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
17 find_program(HIAWATHA_EXECUTABLE hiawatha)
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
18
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
19 if (NOT HIAWATHA_EXECUTABLE)
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
20 message (STATUS "WARNING: hiawatha webserver not found. Downloader tests will fail.")
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
21 else()
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
22 add_definitions(-DHIAWATHA_EXECUTABLE="${HIAWATHA_EXECUTABLE}")
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
23 endif()
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
24
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
25 macro(add_custom_test _source _additional_sources)
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
26 set(_test ${_source})
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
27 get_filename_component(_name ${_source} NAME_WE)
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
28 set(_test_sources_with_resources ${_test}
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
29 "${_additional_sources};${CMAKE_CURRENT_SOURCE_DIR}/common.cpp")
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
30 qt5_add_resources(_test_sources_with_resources
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
31 ${CMAKE_CURRENT_SOURCE_DIR}/data/testdata.qrc)
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
32 add_executable(${_name} ${_test_sources_with_resources})
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
33 add_test(tb-${_name} ${_name})
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
34 target_link_libraries(${_name}
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
35 ui_common
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
36 Qt5::Test Qt5::Widgets
408
ac9e95ef6966 rename m13_common to trustbridge_common
Andre Heinecke <aheinecke@intevation.de>
parents: 407
diff changeset
37 trustbridge_common
68
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 48
diff changeset
38 ${POLARSSL_LIBRARIES}
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 48
diff changeset
39 ${EXTRA_STATIC_LIBS})
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
40 endmacro()
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
41
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
42 # Add the current source dir to the definition
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
43 # so that it can be used in file names in the tests.
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
44 add_definitions(-DSOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
45 add_custom_test(certlistparsertest.cpp "${CERTIFICATELIST_SOURCES}")
48
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
46
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
47 # Downloader
139
6232ea0c8438 Check for hiawatha executable before setting and testing downloader resources.
Raimund Renkert <rrenkert@intevation.de>
parents: 109
diff changeset
48 if (HIAWATHA_EXECUTABLE)
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
49 qt5_add_resources(DOWNLOADER_SOURCES_WITH_RESOURCES ${TRUSTBRIDGE_RESOURCES})
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
50 add_custom_test(downloadertest.cpp "${DOWNLOADER_SOURCES_WITH_RESOURCES}")
139
6232ea0c8438 Check for hiawatha executable before setting and testing downloader resources.
Raimund Renkert <rrenkert@intevation.de>
parents: 109
diff changeset
51 endif()
48
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
52
100
8fa273791242 Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
53 # Cinstprocess
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
54 add_custom_test(cinstprocesstest.cpp "")
293
3ae8b3ab3eab Depend on cinst target for cinsttest
Andre Heinecke <aheinecke@intevation.de>
parents: 240
diff changeset
55 add_dependencies(cinstprocesstest cinst)
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
56 add_custom_test(commontest.cpp "")
100
8fa273791242 Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
57
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
58 add_custom_test(createcertlisttest.cpp "")
468
a53286e5b126 Add failing test for certificate list creation
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
59
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
60 if (WIN32)
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
61 add_custom_test(windowsstoretest.cpp "${CMAKE_SOURCE_DIR}/cinst/windowsstore.c")
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
62 endif (WIN32)
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
63
307
2fd69803d219 Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents: 305
diff changeset
64 if (NSS_FOUND)
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
65 include_directories(${NSS_INCLUDE_DIRS})
331
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
66 set(NSSTEST_SOURCES
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
67 ${CMAKE_SOURCE_DIR}/cinst/nssstore_linux.c
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
68 ${CMAKE_SOURCE_DIR}/cinst/nssstore_win.c)
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
69 add_custom_test(nsstest.cpp "${NSSTEST_SOURCES}")
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
70 target_link_libraries(nsstest ${NSS_LIBRARIES})
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
71 if (WIN32)
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
72 target_link_libraries(nsstest -luserenv)
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
73 endif()
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
74
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
75 add_dependencies(nsstest mozilla)
307
2fd69803d219 Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents: 305
diff changeset
76 endif()
304
eecc06f714fd Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 298
diff changeset
77
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
78 #add_custom_test(${CMAKE_SOURCE_DIR}/ui/main.cpp "${TRUSTBRIDGE_SOURCES}")
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
79

http://wald.intevation.org/projects/trustbridge/