Mercurial > trustbridge
annotate ui/tests/CMakeLists.txt @ 834:8081ed84589d
Use static nss from subrepository on windows
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 28 Jul 2014 13:03:45 +0200 |
parents | 44fa5de02b52 |
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 |