annotate ui/tests/CMakeLists.txt @ 1310:60e481aa75ca

(issue152) Do not return CryptUIDlgViewContext's return value The return value is false if the user cancels the dialog. But as the certificate has been shown this is not really an error.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 13 Oct 2014 14:13:05 +0200
parents c8f698ca6355
children
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)
773
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
18 find_program(OPENSSL_EXECUTABLE openssl)
43
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
19
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
20 if (NOT HIAWATHA_EXECUTABLE)
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
21 message (STATUS "WARNING: hiawatha webserver not found. Downloader will not be run.")
43
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
22 else()
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
23 add_definitions(-DHIAWATHA_EXECUTABLE="${HIAWATHA_EXECUTABLE}")
5910bf9016cd Add Downloadertest
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
24 endif()
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
25
773
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
26 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
27 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
28 endif()
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
29
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
30 macro(add_custom_test _source _additional_sources)
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
31 set(_test ${_source})
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
32 get_filename_component(_name ${_source} NAME_WE)
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
33 set(_test_sources_with_resources ${_test}
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
34 "${_additional_sources};${CMAKE_CURRENT_SOURCE_DIR}/common.cpp")
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
35 qt5_add_resources(_test_sources_with_resources
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
36 ${CMAKE_CURRENT_SOURCE_DIR}/data/testdata.qrc)
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
37 add_executable(${_name} ${_test_sources_with_resources})
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
38 add_test(tb-${_name} ${_name})
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
39 target_link_libraries(${_name}
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
40 tbadminlib
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
41 tblib
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
42 ui_common
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 468
diff changeset
43 Qt5::Test Qt5::Widgets
408
ac9e95ef6966 rename m13_common to trustbridge_common
Andre Heinecke <aheinecke@intevation.de>
parents: 407
diff changeset
44 trustbridge_common
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
45 ${CURL_LIBRARIES}
68
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 48
diff changeset
46 ${POLARSSL_LIBRARIES}
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 48
diff changeset
47 ${EXTRA_STATIC_LIBS})
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
48 endmacro()
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
49
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
50 # Add the current source dir to the definition
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
51 # 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
52 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
53 add_custom_test(certlistparsertest.cpp "")
48
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
54
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
55 # Downloader
139
6232ea0c8438 Check for hiawatha executable before setting and testing downloader resources.
Raimund Renkert <rrenkert@intevation.de>
parents: 109
diff changeset
56 if (HIAWATHA_EXECUTABLE)
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
57 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
58 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
59 endif()
48
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
60
100
8fa273791242 Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
61 # 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
62 add_custom_test(cinstprocesstest.cpp "")
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
63 add_dependencies(cinstprocesstest trustbridge-certificate-installer)
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
64 add_custom_test(commontest.cpp "")
100
8fa273791242 Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
65
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
66 add_custom_test(createcertlisttest.cpp "")
1014
7d08fd354bff Disable mainwindowtest for now
Andre Heinecke <andre.heinecke@intevation.de>
parents: 967
diff changeset
67
7d08fd354bff Disable mainwindowtest for now
Andre Heinecke <andre.heinecke@intevation.de>
parents: 967
diff changeset
68 # Disabled for now at it executes too much and brings up the mainwindow
7d08fd354bff Disable mainwindowtest for now
Andre Heinecke <andre.heinecke@intevation.de>
parents: 967
diff changeset
69 # add_custom_test(mainwindowtest.cpp "")
468
a53286e5b126 Add failing test for certificate list creation
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
70
563
aee3eb10bbba Add unit test for sw update execution and fix shell execute params
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
71 # 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
72 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
73
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
74 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
75 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
76
1025
86fbada04af7 Fix syntax error in check for strip
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1014
diff changeset
77 if (NOT CMAKE_STRIP)
967
9494d4ee1d4e Add fallback when CMAKE_STRIP is not found and warn about it
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
78 message(STATUS "WARNING CMAKE_STRIP not set. Please set this in your toolchain file. Falling back to: i686-w64-mingw32-strip")
9494d4ee1d4e Add fallback when CMAKE_STRIP is not found and warn about it
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
79 set (CMAKE_STRIP "i686-w64-mingw32-strip")
9494d4ee1d4e Add fallback when CMAKE_STRIP is not found and warn about it
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
80 endif()
9494d4ee1d4e Add fallback when CMAKE_STRIP is not found and warn about it
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
81
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
82 if (OSSLSIGNCODE_EXECUTABLE)
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
83 add_custom_test (binverifytest.cpp "")
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
84 add_custom_command(
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
85 TARGET binverifytest
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
86 POST_BUILD
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
87 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
88 -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
89 -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
90 -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
91 )
637
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
92 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
93 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
94 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
95 COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning.pem
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
96 -key ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning-other.key
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
97 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/fakeinst.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
98 -out ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-other-key.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
99 )
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
100 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
101 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
102 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
103 COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning-other.pem
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
104 -key ${CMAKE_CURRENT_SOURCE_DIR}/data/codesign/codesigning-other.key
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
105 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/fakeinst.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
106 -out ${CMAKE_CURRENT_BINARY_DIR}/fakeinst-other-cert.exe
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
107 )
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
108 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
109 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
110 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
111 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
112 -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
113 -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
114 -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
115 ${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
116 )
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
117 endif()
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
118 else ()
773
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
119 if (OPENSSL_EXECUTABLE)
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
120 add_custom_test (binverifytest.cpp "")
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
121 add_custom_command(
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
122 TARGET binverifytest
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
123 POST_BUILD
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
124 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
125 ${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
126 )
774
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
127 add_custom_command(
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
128 TARGET binverifytest
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
129 POST_BUILD
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
130 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
131 ${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
132 )
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
133 add_custom_command(
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
134 TARGET binverifytest
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
135 POST_BUILD
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
136 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
137 ${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
138 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
139 )
773
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
140 endif()
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
141 endif ()
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
142
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 774
diff changeset
143 if (WIN32 OR NSS_FOUND)
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
144 include_directories(${NSS_INCLUDE_DIRS})
331
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
145 set(NSSTEST_SOURCES
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
146 ${CMAKE_SOURCE_DIR}/cinst/nssstore_linux.c
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
147 ${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
148 add_custom_test(nsstest.cpp "${NSSTEST_SOURCES}")
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
149 target_link_libraries(nsstest ${NSS_LIBRARIES})
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
150 if (WIN32)
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
151 target_link_libraries(nsstest -luserenv)
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
152 endif()
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
153
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
154 add_dependencies(nsstest trustbridge-nss-installer)
556
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
155
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
156 # NSS code searches the trustbridge-nss-installer process in the same path as the caller
556
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
157 if (WIN32)
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
158 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer.exe" link)
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
159 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/../../cinst/trustbridge-nss-installer.exe" target)
556
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
160 else()
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
161 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer" link)
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
162 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/../../cinst/trustbridge-nss-installer" target)
556
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
163 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
164
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
165 if (NOT EXISTS ${link})
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
166 if (CMAKE_HOST_UNIX)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
167 set(command ln -s ${target} ${link})
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
168 else()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
169 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
170 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
171 execute_process(COMMAND ${command}
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
172 RESULT_VARIABLE result
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
173 ERROR_VARIABLE output)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
174 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
175 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
176 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
177 endif()
307
2fd69803d219 Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents: 305
diff changeset
178 endif()
304
eecc06f714fd Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 298
diff changeset
179
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
180 #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
181

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