annotate ui/tests/CMakeLists.txt @ 990:2949f1842955

(issue90) Add possibility to force cipher suites in bare connection and test for this
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 01 Sep 2014 12:04:11 +0200
parents 9494d4ee1d4e
children 7d08fd354bff
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
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
50 ${CURL_LIBRARIES}
68
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 48
diff changeset
51 ${POLARSSL_LIBRARIES}
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 48
diff changeset
52 ${EXTRA_STATIC_LIBS})
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
53 endmacro()
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
54
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
55 # Add the current source dir to the definition
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
56 # 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
57 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
58 add_custom_test(certlistparsertest.cpp "")
48
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
59
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
60 # Downloader
139
6232ea0c8438 Check for hiawatha executable before setting and testing downloader resources.
Raimund Renkert <rrenkert@intevation.de>
parents: 109
diff changeset
61 if (HIAWATHA_EXECUTABLE)
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
62 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
63 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
64 endif()
48
3f8c2d46ded6 Add test for no connection handling
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
65
100
8fa273791242 Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
66 # 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
67 add_custom_test(cinstprocesstest.cpp "")
293
3ae8b3ab3eab Depend on cinst target for cinsttest
Andre Heinecke <aheinecke@intevation.de>
parents: 240
diff changeset
68 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
69 add_custom_test(commontest.cpp "")
100
8fa273791242 Add test for cinstprocess
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
70
560
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(createcertlisttest.cpp "")
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 559
diff changeset
72 add_custom_test(mainwindowtest.cpp "")
468
a53286e5b126 Add failing test for certificate list creation
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
73
563
aee3eb10bbba Add unit test for sw update execution and fix shell execute params
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
74 # 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
75 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
76
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
77 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
78 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
79
967
9494d4ee1d4e Add fallback when CMAKE_STRIP is not found and warn about it
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
80 if (NOT "${CMAKE_STRIP}")
9494d4ee1d4e Add fallback when CMAKE_STRIP is not found and warn about it
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
81 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
82 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
83 endif()
9494d4ee1d4e Add fallback when CMAKE_STRIP is not found and warn about it
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
84
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
85 if (OSSLSIGNCODE_EXECUTABLE)
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
86 add_custom_test (binverifytest.cpp "")
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
87 add_custom_command(
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
88 TARGET binverifytest
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
89 POST_BUILD
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
90 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
91 -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
92 -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
93 -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
94 )
637
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
95 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
96 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
97 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
98 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
99 -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
100 -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
101 -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
102 )
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
103 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
104 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
105 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
106 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
107 -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
108 -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
109 -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
110 )
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
111 add_custom_command(
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
112 TARGET binverifytest
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
113 POST_BUILD
be30d50bc4f0 Add remaining tests to check binverify functionality
Andre Heinecke <andre.heinecke@intevation.de>
parents: 636
diff changeset
114 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
115 -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
116 -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
117 -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
118 ${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
119 )
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
120 endif()
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
121 else ()
773
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
122 if (OPENSSL_EXECUTABLE)
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
123 add_custom_test (binverifytest.cpp "")
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
124 add_custom_command(
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
125 TARGET binverifytest
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
126 POST_BUILD
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
127 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
128 ${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
129 )
774
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-other.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-other-key
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
135 )
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
136 add_custom_command(
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
137 TARGET binverifytest
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
138 POST_BUILD
44fa5de02b52 (issue43) Finalize and verify binary verification for linux.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 773
diff changeset
139 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
140 ${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
141 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
142 )
773
2c69298b4188 WIP start with tests for Linux binary verification
Andre Heinecke <andre.heinecke@intevation.de>
parents: 637
diff changeset
143 endif()
636
2fd4f9980a2a Add test for authenticode verificate (binverify)
Andre Heinecke <andre.heinecke@intevation.de>
parents: 580
diff changeset
144 endif ()
220
e6c5c70a67b0 Add test for windowsstores
Andre Heinecke <andre.heinecke@intevation.de>
parents: 182
diff changeset
145
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 774
diff changeset
146 if (WIN32 OR NSS_FOUND)
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
147 include_directories(${NSS_INCLUDE_DIRS})
331
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
148 set(NSSTEST_SOURCES
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
149 ${CMAKE_SOURCE_DIR}/cinst/nssstore_linux.c
455d6d00e896 Break long line of nsstest sources
Andre Heinecke <aheinecke@intevation.de>
parents: 326
diff changeset
150 ${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
151 add_custom_test(nsstest.cpp "${NSSTEST_SOURCES}")
326
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
152 target_link_libraries(nsstest ${NSS_LIBRARIES})
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
153 if (WIN32)
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
154 target_link_libraries(nsstest -luserenv)
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
155 endif()
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
156
ad28f6b60e6b Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
157 add_dependencies(nsstest mozilla)
556
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
158
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
159 # 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
160 if (WIN32)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
161 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
162 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
163 else()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
164 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
165 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
166 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
167
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
168 if (NOT EXISTS ${link})
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
169 if (CMAKE_HOST_UNIX)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
170 set(command ln -s ${target} ${link})
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
171 else()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
172 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
173 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
174 execute_process(COMMAND ${command}
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
175 RESULT_VARIABLE result
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
176 ERROR_VARIABLE output)
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
177 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
178 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
179 endif()
5dc4aa684c63 Symlink mozilla executable into the test directory
Andre Heinecke <aheinecke@intevation.de>
parents: 527
diff changeset
180 endif()
307
2fd69803d219 Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents: 305
diff changeset
181 endif()
304
eecc06f714fd Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 298
diff changeset
182
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
183 #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
184

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