23813f6db1c32d6d268698090d96f8141833027d
[platform/core/security/key-manager.git] / unit-tests / CMakeLists.txt
1 IF (CMAKE_BUILD_TYPE MATCHES "COVERAGE")
2
3     # coverage data
4     SET(COVERAGE_BUILD_DIR
5         ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${TARGET_UNIT_TESTS}.dir/
6     )
7
8     # install gcno files
9     INSTALL(
10         DIRECTORY ${COVERAGE_BUILD_DIR}/
11         DESTINATION ${COVERAGE_DIR}
12         FILES_MATCHING PATTERN "*.gcno"
13     )
14
15     # install code coverage automation script
16     CONFIGURE_FILE(key-manager-coverage.sh.in key-manager-coverage.sh @ONLY)
17     INSTALL(
18         PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/key-manager-coverage.sh
19         DESTINATION ${BIN_DIR}
20     )
21
22 ENDIF (CMAKE_BUILD_TYPE MATCHES "COVERAGE")
23
24
25 FIND_PACKAGE(Threads REQUIRED)
26
27 SET(DB_TEST_DIR ${UNIT_TESTS_DIR}/db)
28 SET(SS_TEST_DIR ${UNIT_TESTS_DIR}/secure-storage)
29 SET(PKCS12_TEST_DIR ${UNIT_TESTS_DIR}/pkcs12/)
30
31 ADD_DEFINITIONS("-DDB_TEST_DIR=\"${DB_TEST_DIR}\"")
32 ADD_DEFINITIONS("-DSS_TEST_DIR=\"${SS_TEST_DIR}\"")
33 ADD_DEFINITIONS("-DPKCS12_TEST_DIR=\"${PKCS12_TEST_DIR}\"")
34
35 ADD_DEFINITIONS("-DBOOST_TEST_DYN_LINK")
36 ADD_DEFINITIONS("-DOVERRIDE_SOCKET_TIMEOUT=10")
37
38 SET(MANAGER_PATH ${PROJECT_SOURCE_DIR}/src/manager)
39
40 INCLUDE_DIRECTORIES(SYSTEM ${KEY_MANAGER_DEP_INCLUDE_DIRS})
41
42 INCLUDE_DIRECTORIES(
43     ${MANAGER_PATH}/dpl/db/include
44     ${MANAGER_PATH}/dpl/core/include
45     ${MANAGER_PATH}/dpl/log/include
46     ${MANAGER_PATH}/service
47     ${MANAGER_PATH}/initial-values
48     ${MANAGER_PATH}/main
49     ${MANAGER_PATH}/common
50     ${MANAGER_PATH}/crypto
51     ${MANAGER_PATH}/client
52     ${MANAGER_PATH}/client-async
53     ${MANAGER_PATH}/client-capi
54     ${PROJECT_SOURCE_DIR}/src/include
55     ${PROJECT_SOURCE_DIR}/common
56     ${CMAKE_CURRENT_SOURCE_DIR}
57 )
58
59 LINK_DIRECTORIES(${KEY_MANAGER_DEP_LIBRARY_DIRS})
60
61 SET(UNIT_TESTS_SOURCES
62     ${PROJECT_SOURCE_DIR}/common/base64_generic.cpp
63     ${PROJECT_SOURCE_DIR}/common/colour_log_formatter.cpp
64     ${PROJECT_SOURCE_DIR}/common/DBFixture.cpp
65     ${PROJECT_SOURCE_DIR}/common/test_common.cpp
66     ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
67     ${CMAKE_CURRENT_SOURCE_DIR}/test_async-observer.cpp
68     ${CMAKE_CURRENT_SOURCE_DIR}/test_base64.cpp
69     ${CMAKE_CURRENT_SOURCE_DIR}/test_binary-queue.cpp
70     ${CMAKE_CURRENT_SOURCE_DIR}/test_certificate.cpp
71     ${CMAKE_CURRENT_SOURCE_DIR}/test_comm-manager.cpp
72     ${CMAKE_CURRENT_SOURCE_DIR}/test_crypto-logic.cpp
73     ${CMAKE_CURRENT_SOURCE_DIR}/test_data-type.cpp
74     ${CMAKE_CURRENT_SOURCE_DIR}/test_db_crypto.cpp
75     ${CMAKE_CURRENT_SOURCE_DIR}/test_descriptor-set.cpp
76     ${CMAKE_CURRENT_SOURCE_DIR}/test_dpl-db.cpp
77     ${CMAKE_CURRENT_SOURCE_DIR}/test_dpl-exception.cpp
78     ${CMAKE_CURRENT_SOURCE_DIR}/test_exception.cpp
79     ${CMAKE_CURRENT_SOURCE_DIR}/test_for-each-file.cpp
80     ${CMAKE_CURRENT_SOURCE_DIR}/test_generic-backend.cpp
81     ${CMAKE_CURRENT_SOURCE_DIR}/test_key.cpp
82     ${CMAKE_CURRENT_SOURCE_DIR}/test_key-provider.cpp
83     ${CMAKE_CURRENT_SOURCE_DIR}/test_log-provider.cpp
84     ${CMAKE_CURRENT_SOURCE_DIR}/test_pkcs12.cpp
85     ${CMAKE_CURRENT_SOURCE_DIR}/test_safe-buffer.cpp
86     ${CMAKE_CURRENT_SOURCE_DIR}/test_serialization.cpp
87     ${CMAKE_CURRENT_SOURCE_DIR}/test_socket-manager.cpp
88     ${CMAKE_CURRENT_SOURCE_DIR}/test_sql.cpp
89     ${CMAKE_CURRENT_SOURCE_DIR}/test_stringify.cpp
90     ${CMAKE_CURRENT_SOURCE_DIR}/test_ss-crypto.cpp
91     ${CMAKE_CURRENT_SOURCE_DIR}/test_sw-backend.cpp
92     ${CMAKE_CURRENT_SOURCE_DIR}/test_xml-parser.cpp
93     ${CMAKE_CURRENT_SOURCE_DIR}/test_xml-utils.cpp
94
95     ${MANAGER_PATH}/client/client-common.cpp
96     ${MANAGER_PATH}/client-async/descriptor-set.cpp
97     ${MANAGER_PATH}/client-capi/ckmc-type-converter.cpp
98     ${MANAGER_PATH}/common/algo-param.cpp
99     ${MANAGER_PATH}/common/certificate-impl.cpp
100     ${MANAGER_PATH}/common/ckm-zero-memory.cpp
101     ${MANAGER_PATH}/common/data-type.cpp
102     ${MANAGER_PATH}/common/exception.cpp
103     ${MANAGER_PATH}/common/key-impl.cpp
104     ${MANAGER_PATH}/common/key-aes-impl.cpp
105     ${MANAGER_PATH}/common/log-setup.cpp
106     ${MANAGER_PATH}/common/message-buffer.cpp
107     ${MANAGER_PATH}/common/openssl-error-handler.cpp
108     ${MANAGER_PATH}/common/pkcs12-impl.cpp
109     ${MANAGER_PATH}/common/protocols.cpp
110     ${MANAGER_PATH}/crypto/platform/decider.cpp
111     ${MANAGER_PATH}/crypto/sw-backend/internals.cpp
112     ${MANAGER_PATH}/crypto/sw-backend/obj.cpp
113     ${MANAGER_PATH}/crypto/sw-backend/store.cpp
114     ${MANAGER_PATH}/dpl/core/src/binary_queue.cpp
115     ${MANAGER_PATH}/dpl/core/src/colors.cpp
116     ${MANAGER_PATH}/dpl/core/src/errno_string.cpp
117     ${MANAGER_PATH}/dpl/core/src/exception.cpp
118     ${MANAGER_PATH}/dpl/db/src/naive_synchronization_object.cpp
119     ${MANAGER_PATH}/dpl/db/src/sql_connection.cpp
120     ${MANAGER_PATH}/dpl/log/src/abstract_log_provider.cpp
121     ${MANAGER_PATH}/dpl/log/src/dlog_log_provider.cpp
122     ${MANAGER_PATH}/dpl/log/src/journal_log_provider.cpp
123     ${MANAGER_PATH}/dpl/log/src/log.cpp
124     ${MANAGER_PATH}/dpl/log/src/old_style_log_provider.cpp
125     ${MANAGER_PATH}/initial-values/parser.cpp
126     ${MANAGER_PATH}/initial-values/xml-utils.cpp
127     ${MANAGER_PATH}/main/cynara.cpp
128     ${MANAGER_PATH}/main/smack-check.cpp
129     ${MANAGER_PATH}/main/socket-2-id.cpp
130     ${MANAGER_PATH}/main/socket-manager.cpp
131     ${MANAGER_PATH}/service/crypto-logic.cpp
132     ${MANAGER_PATH}/service/db-crypto.cpp
133     ${MANAGER_PATH}/service/for-each-file.cpp
134     ${MANAGER_PATH}/service/key-provider.cpp
135     ${MANAGER_PATH}/service/ss-crypto.cpp
136 )
137
138 ADD_EXECUTABLE(
139     ${TARGET_UNIT_TESTS}
140     ${UNIT_TESTS_SOURCES}
141     ${TZ_BACKEND_SOURCES}
142 )
143
144 TARGET_LINK_LIBRARIES(
145     ${TARGET_UNIT_TESTS}
146     ${KEY_MANAGER_DEP_LIBRARIES}
147     ${KM_LINK_EXTRA_DEPS}
148     ${CMAKE_THREAD_LIBS_INIT}
149     boost_unit_test_framework
150     -ldl
151 )
152
153 INSTALL(TARGETS ${TARGET_UNIT_TESTS} DESTINATION bin)
154 INSTALL(
155     FILES
156         resources/XML_1_okay.xml
157         resources/XML_1_okay.xsd
158         resources/XML_1_wrong.xml
159         resources/XML_1_wrong.xsd
160         resources/XML_2_structure.xml
161         resources/XML_3_encrypted.xml
162         resources/XML_3_encrypted.xsd
163         resources/XML_4_device_key.xml
164         resources/XML_4_device_key.xsd
165         resources/testme_ver1.db
166         resources/testme_ver2.db
167         resources/testme_ver3.db
168         resources/testme0_ver4.db
169     DESTINATION ${DB_TEST_DIR}
170 )
171
172 INSTALL(DIRECTORY resources/traverse DESTINATION ${DB_TEST_DIR})
173 INSTALL(DIRECTORY secure-storage-old-data/ DESTINATION ${SS_TEST_DIR})
174 INSTALL(
175         FILES
176                 resources/rsa.p12
177                 resources/dsa.p12
178                 resources/ecdsa.p12
179         DESTINATION ${PKCS12_TEST_DIR}
180 )
181
182 CONFIGURE_FILE(
183     ${PROJECT_SOURCE_DIR}/packaging/key-manager-unit-tests.manifest.in
184     ${PROJECT_SOURCE_DIR}/key-manager-unit-tests.manifest @ONLY
185 )