Mercurial > trustbridge
annotate ui/tests/CMakeLists.txt @ 856:797aa8d9c785
(issue48) Fallback to HKEY_USERS on hive load failure
If the hive can not be loaded it might mean that the user
is currently logged on. In that case we can access his
registry via HKEY_USERS.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 31 Jul 2014 12:56:26 +0200 |
parents | 8081ed84589d |
children | d1c951b3012d |
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 | 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) |
773
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
19 find_program(OPENSSL_EXECUTABLE openssl) |
43 | 20 |
21 if (NOT HIAWATHA_EXECUTABLE) | |
636
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
22 message (STATUS "WARNING: hiawatha webserver not found. Downloader will not be run.") |
43 | 23 else() |
24 add_definitions(-DHIAWATHA_EXECUTABLE="${HIAWATHA_EXECUTABLE}") | |
25 endif() | |
7
992c0ec57660
Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
26 |
636
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
27 if (WIN32 AND NOT OSSLSIGNCODE_EXECUTABLE) |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
28 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
|
29 endif() |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
30 |
773
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
31 if (UNIX AND NOT OPENSSL_EXECUTABLE) |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
32 message (STATUS "WARNING: openssl (the tool) not found. Binary verification tests will not be run.") |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
33 endif() |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
34 |
409
09bb19e5e369
Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents:
408
diff
changeset
|
35 macro(add_custom_test _source _additional_sources) |
7
992c0ec57660
Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
36 set(_test ${_source}) |
992c0ec57660
Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
37 get_filename_component(_name ${_source} NAME_WE) |
326
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
38 set(_test_sources_with_resources ${_test} |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
39 "${_additional_sources};${CMAKE_CURRENT_SOURCE_DIR}/common.cpp") |
220
e6c5c70a67b0
Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents:
182
diff
changeset
|
40 qt5_add_resources(_test_sources_with_resources |
e6c5c70a67b0
Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents:
182
diff
changeset
|
41 ${CMAKE_CURRENT_SOURCE_DIR}/data/testdata.qrc) |
e6c5c70a67b0
Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents:
182
diff
changeset
|
42 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
|
43 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
|
44 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
|
45 tbadminlib |
3af16cbc961d
Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents:
559
diff
changeset
|
46 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
|
47 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
|
48 Qt5::Test Qt5::Widgets |
408
ac9e95ef6966
rename m13_common to trustbridge_common
Andre Heinecke <aheinecke@intevation.de>
parents:
407
diff
changeset
|
49 trustbridge_common |
68
8ffbb48528ae
Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
48
diff
changeset
|
50 ${POLARSSL_LIBRARIES} |
8ffbb48528ae
Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
48
diff
changeset
|
51 ${EXTRA_STATIC_LIBS}) |
7
992c0ec57660
Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 endmacro() |
992c0ec57660
Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
53 |
992c0ec57660
Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
54 # Add the current source dir to the definition |
992c0ec57660
Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
55 # 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
|
56 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
|
57 add_custom_test(certlistparsertest.cpp "") |
48
3f8c2d46ded6
Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
58 |
3f8c2d46ded6
Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
59 # Downloader |
139
6232ea0c8438
Check for hiawatha executable before setting and testing downloader resources.
Raimund Renkert <rrenkert@intevation.de>
parents:
109
diff
changeset
|
60 if (HIAWATHA_EXECUTABLE) |
407
af53c40e74b1
Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents:
405
diff
changeset
|
61 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
|
62 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
|
63 endif() |
48
3f8c2d46ded6
Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
64 |
100
8fa273791242
Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents:
68
diff
changeset
|
65 # 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
|
66 add_custom_test(cinstprocesstest.cpp "") |
293
3ae8b3ab3eab
Depend on cinst target for cinsttest
Andre Heinecke <aheinecke@intevation.de>
parents:
240
diff
changeset
|
67 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
|
68 add_custom_test(commontest.cpp "") |
100
8fa273791242
Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents:
68
diff
changeset
|
69 |
560
3af16cbc961d
Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents:
559
diff
changeset
|
70 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
|
71 add_custom_test(mainwindowtest.cpp "") |
468
a53286e5b126
Add failing test for certificate list creation
Andre Heinecke <aheinecke@intevation.de>
parents:
409
diff
changeset
|
72 |
563
aee3eb10bbba
Add unit test for sw update execution and fix shell execute params
Andre Heinecke <aheinecke@intevation.de>
parents:
560
diff
changeset
|
73 # 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
|
74 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
|
75 |
220
e6c5c70a67b0
Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents:
182
diff
changeset
|
76 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
|
77 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
|
78 |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
79 if (OSSLSIGNCODE_EXECUTABLE) |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
80 add_custom_test (binverifytest.cpp "") |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
81 add_custom_command( |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
82 TARGET binverifytest |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
83 POST_BUILD |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
84 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
|
85 -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
|
86 -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
|
87 -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
|
88 ) |
637
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
89 add_custom_command( |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
90 TARGET binverifytest |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
91 POST_BUILD |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
92 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
|
93 -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
|
94 -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
|
95 -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
|
96 ) |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
97 add_custom_command( |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
98 TARGET binverifytest |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
99 POST_BUILD |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
100 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
|
101 -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
|
102 -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
|
103 -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
|
104 ) |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
105 add_custom_command( |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
106 TARGET binverifytest |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
107 POST_BUILD |
be30d50bc4f0
Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents:
636
diff
changeset
|
108 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
|
109 -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
|
110 -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
|
111 -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
|
112 ${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
|
113 ) |
636
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
114 endif() |
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
115 else () |
773
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
116 if (OPENSSL_EXECUTABLE) |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
117 add_custom_test (binverifytest.cpp "") |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
118 add_custom_command( |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
119 TARGET binverifytest |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
120 POST_BUILD |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
121 COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/append-sig.sh ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning.key |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
122 ${CMAKE_CURRENT_BINARY_DIR}/fakeinst ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-signed |
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
123 ) |
774
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
124 add_custom_command( |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
125 TARGET binverifytest |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
126 POST_BUILD |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
127 COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/append-sig.sh ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning-other.key |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
128 ${CMAKE_CURRENT_BINARY_DIR}/fakeinst ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-other-key |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
129 ) |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
130 add_custom_command( |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
131 TARGET binverifytest |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
132 POST_BUILD |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
133 COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/append-sig.sh ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning.key |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
134 ${CMAKE_CURRENT_BINARY_DIR}/fakeinst ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-invalid && |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
135 sed -i s/Fakeinstaller/Bakeinstaller/g ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-invalid |
44fa5de02b52
(issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
773
diff
changeset
|
136 ) |
773
2c69298b4188
WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents:
637
diff
changeset
|
137 endif() |
636
2fd4f9980a2a
Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
580
diff
changeset
|
138 endif () |
220
e6c5c70a67b0
Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents:
182
diff
changeset
|
139 |
834
8081ed84589d
Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
774
diff
changeset
|
140 if (WIN32 OR NSS_FOUND) |
326
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
141 include_directories(${NSS_INCLUDE_DIRS}) |
331
455d6d00e896
Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
142 set(NSSTEST_SOURCES |
455d6d00e896
Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
143 ${CMAKE_SOURCE_DIR}/cinst/nssstore_linux.c |
455d6d00e896
Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
144 ${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
|
145 add_custom_test(nsstest.cpp "${NSSTEST_SOURCES}") |
326
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
146 target_link_libraries(nsstest ${NSS_LIBRARIES}) |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
147 if (WIN32) |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
148 target_link_libraries(nsstest -luserenv) |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
149 endif() |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
150 |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
151 add_dependencies(nsstest mozilla) |
556
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
152 |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
153 # 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
|
154 if (WIN32) |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
155 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
|
156 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
|
157 else() |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
158 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
|
159 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
|
160 endif() |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
161 |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
162 if (NOT EXISTS ${link}) |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
163 if (CMAKE_HOST_UNIX) |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
164 set(command ln -s ${target} ${link}) |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
165 else() |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
166 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
|
167 endif() |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
168 execute_process(COMMAND ${command} |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
169 RESULT_VARIABLE result |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
170 ERROR_VARIABLE output) |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
171 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
|
172 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
|
173 endif() |
5dc4aa684c63
Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents:
527
diff
changeset
|
174 endif() |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
175 endif() |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
298
diff
changeset
|
176 |
409
09bb19e5e369
Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents:
408
diff
changeset
|
177 #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
|
178 |