diff options
| author | kinichiro <kinichiro.inoguchi@gmail.com> | 2018-03-27 21:40:52 +0900 |
|---|---|---|
| committer | kinichiro <kinichiro.inoguchi@gmail.com> | 2018-03-27 21:40:52 +0900 |
| commit | 650487dbe908c2d42552d682be6e00ff937029ed (patch) | |
| tree | 1c8f4066ecead83b5c00f82533609efa7a1f691e | |
| parent | 55c0cacca0fe675a15389dc175088528a5d2cd00 (diff) | |
| download | portable-650487dbe908c2d42552d682be6e00ff937029ed.tar.gz portable-650487dbe908c2d42552d682be6e00ff937029ed.tar.bz2 portable-650487dbe908c2d42552d682be6e00ff937029ed.zip | |
Build and run regression tests against shared libraries with CMake
| -rw-r--r-- | CMakeLists.txt | 4 | ||||
| -rw-r--r-- | tests/CMakeLists.txt | 131 |
2 files changed, 88 insertions, 47 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c6bd67..6b20778 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -274,11 +274,11 @@ if(HAVE_CLOCK_GETTIME) | |||
| 274 | endif() | 274 | endif() |
| 275 | 275 | ||
| 276 | if(CMAKE_SYSTEM_NAME MATCHES "Linux") | 276 | if(CMAKE_SYSTEM_NAME MATCHES "Linux") |
| 277 | set(OPENSSL_LIBS ${OPENSSL_LIBS} pthread) | ||
| 277 | check_library_exists(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME) | 278 | check_library_exists(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME) |
| 278 | if (HAVE_CLOCK_GETTIME) | 279 | if (HAVE_CLOCK_GETTIME) |
| 279 | set(OPENSSL_LIBS ${OPENSSL_LIBS} rt) | 280 | set(OPENSSL_LIBS ${OPENSSL_LIBS} rt) |
| 280 | endif() | 281 | endif() |
| 281 | set(OPENSSL_LIBS ${OPENSSL_LIBS} pthread) | ||
| 282 | endif() | 282 | endif() |
| 283 | if(CMAKE_SYSTEM_NAME MATCHES "HP-UX") | 283 | if(CMAKE_SYSTEM_NAME MATCHES "HP-UX") |
| 284 | set(OPENSSL_LIBS ${OPENSSL_LIBS} pthread) | 284 | set(OPENSSL_LIBS ${OPENSSL_LIBS} pthread) |
| @@ -307,7 +307,7 @@ if(NOT MSVC) | |||
| 307 | add_subdirectory(man) | 307 | add_subdirectory(man) |
| 308 | endif() | 308 | endif() |
| 309 | # Tests require the openssl executable and are unavailable when building shared libraries | 309 | # Tests require the openssl executable and are unavailable when building shared libraries |
| 310 | if(LIBRESSL_APPS AND LIBRESSL_TESTS AND NOT BUILD_SHARED_LIBS) | 310 | if(LIBRESSL_APPS AND LIBRESSL_TESTS) |
| 311 | add_subdirectory(tests) | 311 | add_subdirectory(tests) |
| 312 | endif() | 312 | endif() |
| 313 | 313 | ||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 69c0d51..9c79313 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt | |||
| @@ -66,15 +66,20 @@ if(ENABLE_EXTRATESTS) | |||
| 66 | endif() | 66 | endif() |
| 67 | 67 | ||
| 68 | # bntest | 68 | # bntest |
| 69 | add_executable(bntest bntest.c) | 69 | if(NOT BUILD_SHARED_LIBS) |
| 70 | set_source_files_properties(bntest.c PROPERTIES COMPILE_FLAGS -ULIBRESSL_INTERNAL) | 70 | add_executable(bntest bntest.c) |
| 71 | target_link_libraries(bntest ${OPENSSL_LIBS}) | 71 | set_source_files_properties(bntest.c PROPERTIES COMPILE_FLAGS |
| 72 | add_test(bntest bntest) | 72 | -ULIBRESSL_INTERNAL) |
| 73 | target_link_libraries(bntest ${OPENSSL_LIBS}) | ||
| 74 | add_test(bntest bntest) | ||
| 75 | endif() | ||
| 73 | 76 | ||
| 74 | # bytestringtest | 77 | # bytestringtest |
| 75 | add_executable(bytestringtest bytestringtest.c) | 78 | if(NOT BUILD_SHARED_LIBS) |
| 76 | target_link_libraries(bytestringtest ${OPENSSL_LIBS}) | 79 | add_executable(bytestringtest bytestringtest.c) |
| 77 | add_test(bytestringtest bytestringtest) | 80 | target_link_libraries(bytestringtest ${OPENSSL_LIBS}) |
| 81 | add_test(bytestringtest bytestringtest) | ||
| 82 | endif() | ||
| 78 | 83 | ||
| 79 | # casttest | 84 | # casttest |
| 80 | add_executable(casttest casttest.c) | 85 | add_executable(casttest casttest.c) |
| @@ -87,9 +92,11 @@ target_link_libraries(chachatest ${OPENSSL_LIBS}) | |||
| 87 | add_test(chachatest chachatest) | 92 | add_test(chachatest chachatest) |
| 88 | 93 | ||
| 89 | # cipher_list | 94 | # cipher_list |
| 90 | add_executable(cipher_list cipher_list.c) | 95 | if(NOT BUILD_SHARED_LIBS) |
| 91 | target_link_libraries(cipher_list ${OPENSSL_LIBS}) | 96 | add_executable(cipher_list cipher_list.c) |
| 92 | add_test(cipher_list cipher_list) | 97 | target_link_libraries(cipher_list ${OPENSSL_LIBS}) |
| 98 | add_test(cipher_list cipher_list) | ||
| 99 | endif() | ||
| 93 | 100 | ||
| 94 | # cipherstest | 101 | # cipherstest |
| 95 | add_executable(cipherstest cipherstest.c) | 102 | add_executable(cipherstest cipherstest.c) |
| @@ -164,10 +171,13 @@ if(NOT WIN32) | |||
| 164 | endif() | 171 | endif() |
| 165 | 172 | ||
| 166 | # exptest | 173 | # exptest |
| 167 | add_executable(exptest exptest.c) | 174 | if(NOT BUILD_SHARED_LIBS) |
| 168 | set_source_files_properties(exptest.c PROPERTIES COMPILE_FLAGS -ULIBRESSL_INTERNAL) | 175 | add_executable(exptest exptest.c) |
| 169 | target_link_libraries(exptest ${OPENSSL_LIBS}) | 176 | set_source_files_properties(exptest.c PROPERTIES COMPILE_FLAGS |
| 170 | add_test(exptest exptest) | 177 | -ULIBRESSL_INTERNAL) |
| 178 | target_link_libraries(exptest ${OPENSSL_LIBS}) | ||
| 179 | add_test(exptest exptest) | ||
| 180 | endif() | ||
| 171 | 181 | ||
| 172 | # freenull | 182 | # freenull |
| 173 | add_executable(freenull freenull.c) | 183 | add_executable(freenull freenull.c) |
| @@ -205,12 +215,14 @@ target_link_libraries(igetest ${OPENSSL_LIBS}) | |||
| 205 | add_test(igetest igetest) | 215 | add_test(igetest igetest) |
| 206 | 216 | ||
| 207 | # keypairtest | 217 | # keypairtest |
| 208 | add_executable(keypairtest keypairtest.c) | 218 | if(NOT BUILD_SHARED_LIBS) |
| 209 | target_link_libraries(keypairtest ${OPENSSL_LIBS}) | 219 | add_executable(keypairtest keypairtest.c) |
| 210 | add_test(keypairtest keypairtest | 220 | target_link_libraries(keypairtest ${OPENSSL_LIBS}) |
| 211 | ${CMAKE_CURRENT_SOURCE_DIR}/ca.pem | 221 | add_test(keypairtest keypairtest |
| 212 | ${CMAKE_CURRENT_SOURCE_DIR}/server.pem | 222 | ${CMAKE_CURRENT_SOURCE_DIR}/ca.pem |
| 213 | ${CMAKE_CURRENT_SOURCE_DIR}/server.pem) | 223 | ${CMAKE_CURRENT_SOURCE_DIR}/server.pem |
| 224 | ${CMAKE_CURRENT_SOURCE_DIR}/server.pem) | ||
| 225 | endif() | ||
| 214 | 226 | ||
| 215 | # md4test | 227 | # md4test |
| 216 | add_executable(md4test md4test.c) | 228 | add_executable(md4test md4test.c) |
| @@ -268,14 +280,20 @@ target_link_libraries(poly1305test ${OPENSSL_LIBS}) | |||
| 268 | add_test(poly1305test poly1305test) | 280 | add_test(poly1305test poly1305test) |
| 269 | 281 | ||
| 270 | # pq_test | 282 | # pq_test |
| 271 | add_executable(pq_test pq_test.c) | 283 | if(NOT BUILD_SHARED_LIBS) |
| 272 | target_link_libraries(pq_test ${OPENSSL_LIBS}) | 284 | add_executable(pq_test pq_test.c) |
| 273 | if(NOT MSVC) | 285 | target_link_libraries(pq_test ${OPENSSL_LIBS}) |
| 274 | add_test(NAME pq_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.sh) | 286 | if(NOT MSVC) |
| 275 | else() | 287 | add_test(NAME pq_test COMMAND |
| 276 | add_test(NAME pq_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.bat $<TARGET_FILE:pq_test>) | 288 | ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.sh) |
| 289 | else() | ||
| 290 | add_test(NAME pq_test COMMAND | ||
| 291 | ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.bat | ||
| 292 | $<TARGET_FILE:pq_test>) | ||
| 293 | endif() | ||
| 294 | set_tests_properties(pq_test PROPERTIES ENVIRONMENT | ||
| 295 | "srcdir=${TEST_SOURCE_DIR}") | ||
| 277 | endif() | 296 | endif() |
| 278 | set_tests_properties(pq_test PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") | ||
| 279 | 297 | ||
| 280 | # randtest | 298 | # randtest |
| 281 | add_executable(randtest randtest.c) | 299 | add_executable(randtest randtest.c) |
| @@ -337,9 +355,11 @@ target_link_libraries(sha512test ${OPENSSL_LIBS}) | |||
| 337 | add_test(sha512test sha512test) | 355 | add_test(sha512test sha512test) |
| 338 | 356 | ||
| 339 | # ssl_versions | 357 | # ssl_versions |
| 340 | add_executable(ssl_versions ssl_versions.c) | 358 | if(NOT BUILD_SHARED_LIBS) |
| 341 | target_link_libraries(ssl_versions ${OPENSSL_LIBS}) | 359 | add_executable(ssl_versions ssl_versions.c) |
| 342 | add_test(ssl_versions ssl_versions) | 360 | target_link_libraries(ssl_versions ${OPENSSL_LIBS}) |
| 361 | add_test(ssl_versions ssl_versions) | ||
| 362 | endif() | ||
| 343 | 363 | ||
| 344 | # ssltest | 364 | # ssltest |
| 345 | add_executable(ssltest ssltest.c) | 365 | add_executable(ssltest ssltest.c) |
| @@ -381,9 +401,11 @@ target_link_libraries(timingsafe ${OPENSSL_LIBS}) | |||
| 381 | add_test(timingsafe timingsafe) | 401 | add_test(timingsafe timingsafe) |
| 382 | 402 | ||
| 383 | # tlsexttest | 403 | # tlsexttest |
| 384 | add_executable(tlsexttest tlsexttest.c) | 404 | if(NOT BUILD_SHARED_LIBS) |
| 385 | target_link_libraries(tlsexttest ${OPENSSL_LIBS}) | 405 | add_executable(tlsexttest tlsexttest.c) |
| 386 | add_test(tlsexttest tlsexttest) | 406 | target_link_libraries(tlsexttest ${OPENSSL_LIBS}) |
| 407 | add_test(tlsexttest tlsexttest) | ||
| 408 | endif() | ||
| 387 | 409 | ||
| 388 | # tlstest | 410 | # tlstest |
| 389 | set(TLSTEST_SRC tlstest.c) | 411 | set(TLSTEST_SRC tlstest.c) |
| @@ -404,26 +426,45 @@ endif() | |||
| 404 | set_tests_properties(tlstest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") | 426 | set_tests_properties(tlstest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") |
| 405 | 427 | ||
| 406 | # tls_ext_alpn | 428 | # tls_ext_alpn |
| 407 | add_executable(tls_ext_alpn tls_ext_alpn.c) | 429 | if(NOT BUILD_SHARED_LIBS) |
| 408 | target_link_libraries(tls_ext_alpn ${OPENSSL_LIBS}) | 430 | add_executable(tls_ext_alpn tls_ext_alpn.c) |
| 409 | add_test(tls_ext_alpn tls_ext_alpn) | 431 | target_link_libraries(tls_ext_alpn ${OPENSSL_LIBS}) |
| 432 | add_test(tls_ext_alpn tls_ext_alpn) | ||
| 433 | endif() | ||
| 410 | 434 | ||
| 411 | # tls_prf | 435 | # tls_prf |
| 412 | add_executable(tls_prf tls_prf.c) | 436 | if(NOT BUILD_SHARED_LIBS) |
| 413 | target_link_libraries(tls_prf ${OPENSSL_LIBS}) | 437 | add_executable(tls_prf tls_prf.c) |
| 414 | add_test(tls_prf tls_prf) | 438 | target_link_libraries(tls_prf ${OPENSSL_LIBS}) |
| 439 | add_test(tls_prf tls_prf) | ||
| 440 | endif() | ||
| 415 | 441 | ||
| 416 | # utf8test | 442 | # utf8test |
| 417 | add_executable(utf8test utf8test.c) | 443 | if(NOT BUILD_SHARED_LIBS) |
| 418 | target_link_libraries(utf8test ${OPENSSL_LIBS}) | 444 | add_executable(utf8test utf8test.c) |
| 419 | add_test(utf8test utf8test) | 445 | target_link_libraries(utf8test ${OPENSSL_LIBS}) |
| 446 | add_test(utf8test utf8test) | ||
| 447 | endif() | ||
| 420 | 448 | ||
| 421 | # verifytest | 449 | # verifytest |
| 422 | add_executable(verifytest verifytest.c) | 450 | if(NOT BUILD_SHARED_LIBS) |
| 423 | target_link_libraries(verifytest tls ${OPENSSL_LIBS}) | 451 | add_executable(verifytest verifytest.c) |
| 424 | add_test(verifytest verifytest) | 452 | target_link_libraries(verifytest ${OPENSSL_LIBS}) |
| 453 | add_test(verifytest verifytest) | ||
| 454 | endif() | ||
| 425 | 455 | ||
| 426 | # x25519test | 456 | # x25519test |
| 427 | add_executable(x25519test x25519test.c) | 457 | add_executable(x25519test x25519test.c) |
| 428 | target_link_libraries(x25519test ${OPENSSL_LIBS}) | 458 | target_link_libraries(x25519test ${OPENSSL_LIBS}) |
| 429 | add_test(x25519test x25519test) | 459 | add_test(x25519test x25519test) |
| 460 | |||
| 461 | if(BUILD_SHARED_LIBS) | ||
| 462 | add_custom_command(TARGET x25519test POST_BUILD | ||
| 463 | COMMAND "${CMAKE_COMMAND}" -E copy | ||
| 464 | "$<TARGET_FILE:tls>" | ||
| 465 | "$<TARGET_FILE:ssl>" | ||
| 466 | "$<TARGET_FILE:crypto>" | ||
| 467 | "${CMAKE_CURRENT_BINARY_DIR}" | ||
| 468 | COMMENT "Copying DLLs for regression tests") | ||
| 469 | endif() | ||
| 470 | |||
