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
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)
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
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
20
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
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
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
23 else()
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
24 add_definitions(-DHIAWATHA_EXECUTABLE="${HIAWATHA_EXECUTABLE}")
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
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

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