1 PKG_CHECK_MODULES(KEY_MANAGER_TEST_DEP
6 FIND_PACKAGE(Threads REQUIRED)
7 ADD_DEFINITIONS("-DBOOST_TEST_DYN_LINK")
9 SET(DB_TEST_DIR ${TEST_DIR}/db)
10 SET(SS_TEST_DIR ${TEST_DIR}/secure-storage)
12 ADD_DEFINITIONS("-DDB_TEST_DIR=\"${DB_TEST_DIR}\"")
13 ADD_DEFINITIONS("-DSS_TEST_DIR=\"${SS_TEST_DIR}\"")
15 SET(KEY_MANAGER_SRC_PATH ${PROJECT_SOURCE_DIR}/src)
16 SET(KEY_MANAGER_PATH ${PROJECT_SOURCE_DIR}/src/manager)
18 # encryption scheme tests #####################################################
20 PKG_CHECK_MODULES(ENCRYPTION_SCHEME_DEP
25 SET(ENCRYPTION_SCHEME_SOURCES
26 ${CMAKE_CURRENT_SOURCE_DIR}/encryption-scheme/smack-access.cpp
27 ${CMAKE_CURRENT_SOURCE_DIR}/encryption-scheme/scheme-test.cpp
29 ${KEY_MANAGER_PATH}/dpl/core/src/assert.cpp
30 ${KEY_MANAGER_PATH}/dpl/db/src/naive_synchronization_object.cpp
31 ${KEY_MANAGER_PATH}/dpl/db/src/sql_connection.cpp
32 ${KEY_MANAGER_PATH}/service/db-crypto.cpp
33 ${KEY_MANAGER_PATH}/service/file-lock.cpp
34 ${KEY_MANAGER_PATH}/service/file-system.cpp
35 ${KEY_MANAGER_PATH}/service/for-each-file.cpp
36 ${KEY_MANAGER_PATH}/service/key-provider.cpp
37 ${KEY_MANAGER_PATH}/sqlcipher/sqlcipher.c
40 INCLUDE_DIRECTORIES(SYSTEM ${ENCRYPTION_SCHEME_DEP_INCLUDE_DIRS})
42 ${CMAKE_CURRENT_SOURCE_DIR}
44 ${KEY_MANAGER_PATH}/common
45 ${KEY_MANAGER_PATH}/dpl/core/include
46 ${KEY_MANAGER_PATH}/dpl/log/include
47 ${KEY_MANAGER_PATH}/dpl/db/include
48 ${KEY_MANAGER_PATH}/sqlcipher
49 ${KEY_MANAGER_PATH}/service
50 ${KEY_MANAGER_PATH}/crypto
53 LINK_DIRECTORIES(${ENCRYPTION_SCHEME_DEP_LIBRARY_DIRS})
55 # binary for filling db for testing
56 SET(TARGET_CKM_GENERATOR "ckm_generate_db")
59 ${CMAKE_CURRENT_SOURCE_DIR}/encryption-scheme/generate-db.cpp
62 ADD_EXECUTABLE(${TARGET_CKM_GENERATOR} ${GENERATOR_SOURCES} ${ENCRYPTION_SCHEME_SOURCES})
64 SET(SCHEME_TEST_LIBRARIES
65 ${ENCRYPTION_SCHEME_DEP_LIBRARIES}
66 ${TARGET_KEY_MANAGER_CLIENT}
67 ${TARGET_KEY_MANAGER_CONTROL_CLIENT}
68 ${CMAKE_THREAD_LIBS_INIT}
69 boost_unit_test_framework
73 TARGET_LINK_LIBRARIES(${TARGET_CKM_GENERATOR} ${SCHEME_TEST_LIBRARIES}
76 INSTALL(TARGETS ${TARGET_CKM_GENERATOR} DESTINATION bin)
78 ################################################################################
81 SET(KEY_MANAGER_TEST_MERGED_SRC ${PROJECT_SOURCE_DIR}/tests)
84 ${KEY_MANAGER_DEP_INCLUDE_DIRS}
85 ${KEY_MANAGER_PATH}/dpl/db/include
86 ${KEY_MANAGER_PATH}/dpl/core/include
87 ${KEY_MANAGER_PATH}/dpl/log/include
88 ${KEY_MANAGER_PATH}/sqlcipher
89 ${KEY_MANAGER_PATH}/service
90 ${KEY_MANAGER_PATH}/initial-values
91 ${KEY_MANAGER_PATH}/main
92 ${KEY_MANAGER_PATH}/common
93 ${KEY_MANAGER_PATH}/crypto
94 ${KEY_MANAGER_PATH}/client-async
95 ${KEY_MANAGER_SRC_PATH}/include
96 ${KEY_MANAGER_TEST_MERGED_SRC}
97 ${KEY_MANAGER_TEST_MERGED_SRC}/encryption-scheme
100 SET(TEST_MERGED_SOURCES
101 ${KEY_MANAGER_TEST_MERGED_SRC}/colour_log_formatter.cpp
102 ${KEY_MANAGER_TEST_MERGED_SRC}/DBFixture.cpp
103 ${KEY_MANAGER_TEST_MERGED_SRC}/main.cpp
104 ${KEY_MANAGER_TEST_MERGED_SRC}/test_async-observer.cpp
105 ${KEY_MANAGER_TEST_MERGED_SRC}/test_base64.cpp
106 ${KEY_MANAGER_TEST_MERGED_SRC}/test_binary-queue.cpp
107 ${KEY_MANAGER_TEST_MERGED_SRC}/test_certificate.cpp
108 ${KEY_MANAGER_TEST_MERGED_SRC}/test_comm-manager.cpp
109 ${KEY_MANAGER_TEST_MERGED_SRC}/test_common.cpp
110 ${KEY_MANAGER_TEST_MERGED_SRC}/test_crypto-logic.cpp
111 ${KEY_MANAGER_TEST_MERGED_SRC}/test_data-type.cpp
112 ${KEY_MANAGER_TEST_MERGED_SRC}/test_db_crypto.cpp
113 ${KEY_MANAGER_TEST_MERGED_SRC}/test_descriptor-set.cpp
114 ${KEY_MANAGER_TEST_MERGED_SRC}/test_dpl-db.cpp
115 ${KEY_MANAGER_TEST_MERGED_SRC}/test_dpl-exception.cpp
116 ${KEY_MANAGER_TEST_MERGED_SRC}/test_encryption-scheme.cpp
117 ${KEY_MANAGER_TEST_MERGED_SRC}/test_exception.cpp
118 ${KEY_MANAGER_TEST_MERGED_SRC}/test_for-each-file.cpp
119 ${KEY_MANAGER_TEST_MERGED_SRC}/test_generic-backend.cpp
120 ${KEY_MANAGER_TEST_MERGED_SRC}/test_key.cpp
121 ${KEY_MANAGER_TEST_MERGED_SRC}/test_key-provider.cpp
122 ${KEY_MANAGER_TEST_MERGED_SRC}/test_log-provider.cpp
123 ${KEY_MANAGER_TEST_MERGED_SRC}/test_safe-buffer.cpp
124 ${KEY_MANAGER_TEST_MERGED_SRC}/test_serialization.cpp
125 ${KEY_MANAGER_TEST_MERGED_SRC}/test_sql.cpp
126 ${KEY_MANAGER_TEST_MERGED_SRC}/test_stringify.cpp
127 ${KEY_MANAGER_TEST_MERGED_SRC}/test_ss-crypto.cpp
128 ${KEY_MANAGER_TEST_MERGED_SRC}/test_sw-backend.cpp
129 ${KEY_MANAGER_TEST_MERGED_SRC}/test_xml-parser.cpp
131 # duplicated srcs to test hidden symbols
132 ${KEY_MANAGER_PATH}/client-async/descriptor-set.cpp
133 ${KEY_MANAGER_PATH}/crypto/platform/decider.cpp
134 ${KEY_MANAGER_PATH}/crypto/sw-backend/internals.cpp
135 ${KEY_MANAGER_PATH}/crypto/sw-backend/obj.cpp
136 ${KEY_MANAGER_PATH}/crypto/sw-backend/store.cpp
137 ${KEY_MANAGER_PATH}/dpl/core/src/assert.cpp
138 ${KEY_MANAGER_PATH}/dpl/core/src/colors.cpp
139 ${KEY_MANAGER_PATH}/dpl/core/src/errno_string.cpp
140 ${KEY_MANAGER_PATH}/dpl/db/src/naive_synchronization_object.cpp
141 ${KEY_MANAGER_PATH}/dpl/db/src/sql_connection.cpp
142 ${KEY_MANAGER_PATH}/dpl/log/src/abstract_log_provider.cpp
143 ${KEY_MANAGER_PATH}/dpl/log/src/dlog_log_provider.cpp
144 ${KEY_MANAGER_PATH}/dpl/log/src/journal_log_provider.cpp
145 ${KEY_MANAGER_PATH}/dpl/log/src/log.cpp
146 ${KEY_MANAGER_PATH}/dpl/log/src/old_style_log_provider.cpp
147 ${KEY_MANAGER_PATH}/initial-values/parser.cpp
148 ${KEY_MANAGER_PATH}/initial-values/xml-utils.cpp
149 ${KEY_MANAGER_PATH}/service/crypto-logic.cpp
150 ${KEY_MANAGER_PATH}/service/db-crypto.cpp
151 ${KEY_MANAGER_PATH}/service/for-each-file.cpp
152 ${KEY_MANAGER_PATH}/service/key-provider.cpp
153 ${KEY_MANAGER_PATH}/service/ss-crypto.cpp
156 IF(TZ_BACKEND_ENABLED)
157 SET(TEST_MERGED_SOURCES
158 ${TEST_MERGED_SOURCES}
160 # duplicated srcs to test hidden symbols
161 ${KEY_MANAGER_PATH}/crypto/tz-backend/obj.cpp
162 ${KEY_MANAGER_PATH}/crypto/tz-backend/store.cpp
163 ${KEY_MANAGER_PATH}/crypto/tz-backend/internals.cpp
164 ${KEY_MANAGER_PATH}/crypto/tz-backend/tz-context.cpp
165 ${KEY_MANAGER_PATH}/crypto/tz-backend/tz-memory.cpp
166 ${KEY_MANAGER_PATH}/crypto/tz-backend/tz-serializer.cpp
170 LINK_DIRECTORIES(${KEY_MANAGER_DEP_LIBRARY_DIRS})
172 ADD_EXECUTABLE(${TARGET_TEST_MERGED} ${TEST_MERGED_SOURCES} ${ENCRYPTION_SCHEME_SOURCES})
175 IF(TZ_BACKEND_ENABLED)
176 SET(TEST_LINK_EXTRA_DEPS
177 ${TEST_LINK_EXTRA_DEPS}
183 TARGET_LINK_LIBRARIES(${TARGET_TEST_MERGED}
184 ${KEY_MANAGER_DEP_LIBRARIES}
185 ${TEST_LINK_EXTRA_DEPS}
186 ${SCHEME_TEST_LIBRARIES}
189 INSTALL(TARGETS ${TARGET_TEST_MERGED} DESTINATION bin)
192 resources/XML_1_okay.xml
193 resources/XML_1_okay.xsd
194 resources/XML_1_wrong.xml
195 resources/XML_1_wrong.xsd
196 resources/XML_2_structure.xml
197 resources/XML_3_encrypted.xml
198 resources/XML_3_encrypted.xsd
199 resources/XML_4_device_key.xml
200 resources/XML_4_device_key.xsd
201 resources/encryption-scheme.p12
203 resources/db-key-7654
205 resources/testme_ver1.db
206 resources/testme_ver2.db
207 resources/testme_ver3.db
208 DESTINATION ${DB_TEST_DIR}
211 INSTALL(DIRECTORY resources/traverse DESTINATION ${DB_TEST_DIR})
212 INSTALL(DIRECTORY secure-storage-old-data/ DESTINATION ${SS_TEST_DIR})