annotate ui/tests/CMakeLists.txt @ 648:e41a2537b84d

Implement root installation We now iterate over all users that do not obviously have their login shell disabled and look for NSS directories in their home directory, dropping our privileges to do so.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 25 Jun 2014 12:44:47 +0200
parents be30d50bc4f0
children 2c69298b4188
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)
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
18 find_program(OSSLSIGNCODE_EXECUTABLE osslsigncode)
43
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
19
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
20 if (NOT HIAWATHA_EXECUTABLE)
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
21 message (STATUS "WARNING: hiawatha webserver not found. Downloader will not be run.")
43
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
22 else()
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
23 add_definitions(-DHIAWATHA_EXECUTABLE="${HIAWATHA_EXECUTABLE}")
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
24 endif()
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
25
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
26 if (WIN32 AND NOT OSSLSIGNCODE_EXECUTABLE)
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
27 message (STATUS "WARNING: osslsigncode not found. Authenticode tests will not be run.")
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
28 endif()
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
29
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
30 macro(add_custom_test _source _additional_sources)
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
31 set(_test ${_source})
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
32 get_filename_component(_name ${_source} NAME_WE)
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
33 set(_test_sources_with_resources ${_test}
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
34 "${_additional_sources};${CMAKE_CURRENT_SOURCE_DIR}/common.cpp")
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
35 qt5_add_resources(_test_sources_with_resources
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
36 ${CMAKE_CURRENT_SOURCE_DIR}/data/testdata.qrc)
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
37 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
38 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
39 target_link_libraries(${_name}
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
40 tbadminlib
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
41 tblib
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
42 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
43 Qt5::Test Qt5::Widgets
408
ac9e95ef6966 rename m13_common to trustbridge_common
Andre Heinecke <aheinecke@intevation.de>
parents: 407
diff changeset
44 trustbridge_common
68
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 48
diff changeset
45 ${POLARSSL_LIBRARIES}
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 48
diff changeset
46 ${EXTRA_STATIC_LIBS})
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
47 endmacro()
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
48
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
49 # Add the current source dir to the definition
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
50 # 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
51 add_definitions(-DSOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
52 add_custom_test(certlistparsertest.cpp "")
48
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
53
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
54 # Downloader
139
6232ea0c8438 Check for hiawatha executable before setting and testing downloader resources.
Raimund Renkert <rrenkert@intevation.de>
parents: 109
diff changeset
55 if (HIAWATHA_EXECUTABLE)
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
56 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
57 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
58 endif()
48
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
59
100
8fa273791242 Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
60 # 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
61 add_custom_test(cinstprocesstest.cpp "")
293
3ae8b3ab3eab Depend on cinst target for cinsttest
Andre Heinecke <aheinecke@intevation.de>
parents: 240
diff changeset
62 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
63 add_custom_test(commontest.cpp "")
100
8fa273791242 Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
64
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
65 add_custom_test(createcertlisttest.cpp "")
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
66 add_custom_test(mainwindowtest.cpp "")
468
a53286e5b126 Add failing test for certificate list creation
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
67
563
aee3eb10bbba Add unit test for sw update execution and fix shell execute params
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
68 # Using fakeinstaller here would cause windows UAC heuristics to trigger
aee3eb10bbba Add unit test for sw update execution and fix shell execute params
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
69 add_executable(fakeinst fakeinstaller.c)
aee3eb10bbba Add unit test for sw update execution and fix shell execute params
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
70
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
71 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
72 add_custom_test(windowsstoretest.cpp "${CMAKE_SOURCE_DIR}/cinst/windowsstore.c")
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
73
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
74 if (OSSLSIGNCODE_EXECUTABLE)
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
75 add_custom_test (binverifytest.cpp "")
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
76 add_custom_command(
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
77 TARGET binverifytest
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
78 POST_BUILD
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
79 COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning.pem
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
80 -key ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning.key
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
81 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/fakeinst.exe
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
82 -out ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-signed.exe
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
83 )
637
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
84 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
85 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
86 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
87 COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning.pem
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
88 -key ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning-other.key
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
89 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/fakeinst.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
90 -out ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-other-key.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
91 )
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
92 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
93 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
94 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
95 COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning-other.pem
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
96 -key ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning-other.key
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
97 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/fakeinst.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
98 -out ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-other-cert.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
99 )
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
100 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
101 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
102 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
103 COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning.pem
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
104 -key ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning.key
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
105 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/fakeinst.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
106 -out ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-invalid.exe &&
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
107 ${CMAKE_STRIP} ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-invalid.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
108 )
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
109 endif()
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
110 else ()
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
111 add_custom_test (binverifytest.cpp "")
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
112 endif ()
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
113
307
2fd69803d219 Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents: 305
diff changeset
114 if (NSS_FOUND)
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
115 include_directories(${NSS_INCLUDE_DIRS})
331
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
116 set(NSSTEST_SOURCES
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
117 ${CMAKE_SOURCE_DIR}/cinst/nssstore_linux.c
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
118 ${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
119 add_custom_test(nsstest.cpp "${NSSTEST_SOURCES}")
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
120 target_link_libraries(nsstest ${NSS_LIBRARIES})
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
121 if (WIN32)
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
122 target_link_libraries(nsstest -luserenv)
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
123 endif()
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
124
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
125 add_dependencies(nsstest mozilla)
556
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
126
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
127 # NSS code searches the mozilla process in the same path as the caller
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
128 if (WIN32)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
129 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/mozilla.exe" link)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
130 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/../../cinst/mozilla.exe" target)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
131 else()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
132 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/mozilla" link)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
133 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/../../cinst/mozilla" target)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
134 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
135
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
136 if (NOT EXISTS ${link})
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
137 if (CMAKE_HOST_UNIX)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
138 set(command ln -s ${target} ${link})
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
139 else()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
140 set(command cmd.exe /c mklink ${link} ${target})
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
141 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
142 execute_process(COMMAND ${command}
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
143 RESULT_VARIABLE result
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
144 ERROR_VARIABLE output)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
145 if (NOT ${result} EQUAL 0)
580
cf7e82e91875 Do not fail when creating the link fails. Just warn.
Andre Heinecke <aheinecke@intevation.de>
parents: 563
diff changeset
146 message(STATUS "Could not create symbolic link for: ${target} --> ${output}. NSS Test might fail.")
556
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
147 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
148 endif()
307
2fd69803d219 Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents: 305
diff changeset
149 endif()
304
eecc06f714fd Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 298
diff changeset
150
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
151 #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
152

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