mbed TLS Build
tests/CMakeLists.txt@0:cdf462088d13, 2017-01-05 (annotated)
- Committer:
- markrad
- Date:
- Thu Jan 05 00:18:44 2017 +0000
- Revision:
- 0:cdf462088d13
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
markrad | 0:cdf462088d13 | 1 | set(libs |
markrad | 0:cdf462088d13 | 2 | mbedtls |
markrad | 0:cdf462088d13 | 3 | ) |
markrad | 0:cdf462088d13 | 4 | |
markrad | 0:cdf462088d13 | 5 | if(USE_PKCS11_HELPER_LIBRARY) |
markrad | 0:cdf462088d13 | 6 | set(libs ${libs} pkcs11-helper) |
markrad | 0:cdf462088d13 | 7 | endif(USE_PKCS11_HELPER_LIBRARY) |
markrad | 0:cdf462088d13 | 8 | |
markrad | 0:cdf462088d13 | 9 | if(ENABLE_ZLIB_SUPPORT) |
markrad | 0:cdf462088d13 | 10 | set(libs ${libs} ${ZLIB_LIBRARIES}) |
markrad | 0:cdf462088d13 | 11 | endif(ENABLE_ZLIB_SUPPORT) |
markrad | 0:cdf462088d13 | 12 | |
markrad | 0:cdf462088d13 | 13 | find_package(Perl) |
markrad | 0:cdf462088d13 | 14 | if(NOT PERL_FOUND) |
markrad | 0:cdf462088d13 | 15 | message(FATAL_ERROR "Cannot build test suites without Perl") |
markrad | 0:cdf462088d13 | 16 | endif() |
markrad | 0:cdf462088d13 | 17 | |
markrad | 0:cdf462088d13 | 18 | function(add_test_suite suite_name) |
markrad | 0:cdf462088d13 | 19 | if(ARGV1) |
markrad | 0:cdf462088d13 | 20 | set(data_name ${ARGV1}) |
markrad | 0:cdf462088d13 | 21 | else() |
markrad | 0:cdf462088d13 | 22 | set(data_name ${suite_name}) |
markrad | 0:cdf462088d13 | 23 | endif() |
markrad | 0:cdf462088d13 | 24 | |
markrad | 0:cdf462088d13 | 25 | add_custom_command( |
markrad | 0:cdf462088d13 | 26 | OUTPUT test_suite_${data_name}.c |
markrad | 0:cdf462088d13 | 27 | COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_code.pl ${CMAKE_CURRENT_SOURCE_DIR}/suites test_suite_${suite_name} test_suite_${data_name} |
markrad | 0:cdf462088d13 | 28 | DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_code.pl mbedtls suites/helpers.function suites/main_test.function suites/test_suite_${suite_name}.function suites/test_suite_${data_name}.data |
markrad | 0:cdf462088d13 | 29 | ) |
markrad | 0:cdf462088d13 | 30 | |
markrad | 0:cdf462088d13 | 31 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) |
markrad | 0:cdf462088d13 | 32 | add_executable(test_suite_${data_name} test_suite_${data_name}.c) |
markrad | 0:cdf462088d13 | 33 | target_link_libraries(test_suite_${data_name} ${libs}) |
markrad | 0:cdf462088d13 | 34 | add_test(${data_name}-suite test_suite_${data_name}) |
markrad | 0:cdf462088d13 | 35 | endfunction(add_test_suite) |
markrad | 0:cdf462088d13 | 36 | |
markrad | 0:cdf462088d13 | 37 | if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) |
markrad | 0:cdf462088d13 | 38 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function") |
markrad | 0:cdf462088d13 | 39 | endif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) |
markrad | 0:cdf462088d13 | 40 | |
markrad | 0:cdf462088d13 | 41 | if(MSVC) |
markrad | 0:cdf462088d13 | 42 | # If a warning level has been defined, suppress all warnings for test code |
markrad | 0:cdf462088d13 | 43 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W0") |
markrad | 0:cdf462088d13 | 44 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX-") |
markrad | 0:cdf462088d13 | 45 | endif(MSVC) |
markrad | 0:cdf462088d13 | 46 | |
markrad | 0:cdf462088d13 | 47 | add_test_suite(aes aes.ecb) |
markrad | 0:cdf462088d13 | 48 | add_test_suite(aes aes.cbc) |
markrad | 0:cdf462088d13 | 49 | add_test_suite(aes aes.cfb) |
markrad | 0:cdf462088d13 | 50 | add_test_suite(aes aes.rest) |
markrad | 0:cdf462088d13 | 51 | add_test_suite(arc4) |
markrad | 0:cdf462088d13 | 52 | add_test_suite(asn1write) |
markrad | 0:cdf462088d13 | 53 | add_test_suite(base64) |
markrad | 0:cdf462088d13 | 54 | add_test_suite(blowfish) |
markrad | 0:cdf462088d13 | 55 | add_test_suite(camellia) |
markrad | 0:cdf462088d13 | 56 | add_test_suite(ccm) |
markrad | 0:cdf462088d13 | 57 | add_test_suite(cipher cipher.aes) |
markrad | 0:cdf462088d13 | 58 | add_test_suite(cipher cipher.arc4) |
markrad | 0:cdf462088d13 | 59 | add_test_suite(cipher cipher.blowfish) |
markrad | 0:cdf462088d13 | 60 | add_test_suite(cipher cipher.camellia) |
markrad | 0:cdf462088d13 | 61 | add_test_suite(cipher cipher.ccm) |
markrad | 0:cdf462088d13 | 62 | add_test_suite(cipher cipher.des) |
markrad | 0:cdf462088d13 | 63 | add_test_suite(cipher cipher.gcm) |
markrad | 0:cdf462088d13 | 64 | add_test_suite(cipher cipher.null) |
markrad | 0:cdf462088d13 | 65 | add_test_suite(cipher cipher.padding) |
markrad | 0:cdf462088d13 | 66 | add_test_suite(cmac) |
markrad | 0:cdf462088d13 | 67 | add_test_suite(ctr_drbg) |
markrad | 0:cdf462088d13 | 68 | add_test_suite(debug) |
markrad | 0:cdf462088d13 | 69 | add_test_suite(des) |
markrad | 0:cdf462088d13 | 70 | add_test_suite(dhm) |
markrad | 0:cdf462088d13 | 71 | add_test_suite(ecdh) |
markrad | 0:cdf462088d13 | 72 | add_test_suite(ecdsa) |
markrad | 0:cdf462088d13 | 73 | add_test_suite(ecjpake) |
markrad | 0:cdf462088d13 | 74 | add_test_suite(ecp) |
markrad | 0:cdf462088d13 | 75 | add_test_suite(entropy) |
markrad | 0:cdf462088d13 | 76 | add_test_suite(error) |
markrad | 0:cdf462088d13 | 77 | add_test_suite(gcm gcm.aes128_en) |
markrad | 0:cdf462088d13 | 78 | add_test_suite(gcm gcm.aes192_en) |
markrad | 0:cdf462088d13 | 79 | add_test_suite(gcm gcm.aes256_en) |
markrad | 0:cdf462088d13 | 80 | add_test_suite(gcm gcm.aes128_de) |
markrad | 0:cdf462088d13 | 81 | add_test_suite(gcm gcm.aes192_de) |
markrad | 0:cdf462088d13 | 82 | add_test_suite(gcm gcm.aes256_de) |
markrad | 0:cdf462088d13 | 83 | add_test_suite(gcm gcm.camellia) |
markrad | 0:cdf462088d13 | 84 | add_test_suite(hmac_drbg hmac_drbg.misc) |
markrad | 0:cdf462088d13 | 85 | add_test_suite(hmac_drbg hmac_drbg.no_reseed) |
markrad | 0:cdf462088d13 | 86 | add_test_suite(hmac_drbg hmac_drbg.nopr) |
markrad | 0:cdf462088d13 | 87 | add_test_suite(hmac_drbg hmac_drbg.pr) |
markrad | 0:cdf462088d13 | 88 | add_test_suite(md) |
markrad | 0:cdf462088d13 | 89 | add_test_suite(mdx) |
markrad | 0:cdf462088d13 | 90 | add_test_suite(memory_buffer_alloc) |
markrad | 0:cdf462088d13 | 91 | add_test_suite(mpi) |
markrad | 0:cdf462088d13 | 92 | add_test_suite(pem) |
markrad | 0:cdf462088d13 | 93 | add_test_suite(pkcs1_v15) |
markrad | 0:cdf462088d13 | 94 | add_test_suite(pkcs1_v21) |
markrad | 0:cdf462088d13 | 95 | add_test_suite(pkcs5) |
markrad | 0:cdf462088d13 | 96 | add_test_suite(pk) |
markrad | 0:cdf462088d13 | 97 | add_test_suite(pkparse) |
markrad | 0:cdf462088d13 | 98 | add_test_suite(pkwrite) |
markrad | 0:cdf462088d13 | 99 | add_test_suite(shax) |
markrad | 0:cdf462088d13 | 100 | add_test_suite(ssl) |
markrad | 0:cdf462088d13 | 101 | add_test_suite(timing) |
markrad | 0:cdf462088d13 | 102 | add_test_suite(rsa) |
markrad | 0:cdf462088d13 | 103 | add_test_suite(version) |
markrad | 0:cdf462088d13 | 104 | add_test_suite(xtea) |
markrad | 0:cdf462088d13 | 105 | add_test_suite(x509parse) |
markrad | 0:cdf462088d13 | 106 | add_test_suite(x509write) |
markrad | 0:cdf462088d13 | 107 | |
markrad | 0:cdf462088d13 | 108 | # Make data_files available in an out-of-source build |
markrad | 0:cdf462088d13 | 109 | if (NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) |
markrad | 0:cdf462088d13 | 110 | # Get OS dependent path to use in `execute_process` |
markrad | 0:cdf462088d13 | 111 | file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/data_files" link) |
markrad | 0:cdf462088d13 | 112 | file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/data_files" target) |
markrad | 0:cdf462088d13 | 113 | |
markrad | 0:cdf462088d13 | 114 | if (NOT EXISTS ${link}) |
markrad | 0:cdf462088d13 | 115 | if (CMAKE_HOST_UNIX) |
markrad | 0:cdf462088d13 | 116 | set(command ln -s ${target} ${link}) |
markrad | 0:cdf462088d13 | 117 | else() |
markrad | 0:cdf462088d13 | 118 | set(command cmd.exe /c mklink /j ${link} ${target}) |
markrad | 0:cdf462088d13 | 119 | endif() |
markrad | 0:cdf462088d13 | 120 | |
markrad | 0:cdf462088d13 | 121 | execute_process(COMMAND ${command} |
markrad | 0:cdf462088d13 | 122 | RESULT_VARIABLE result |
markrad | 0:cdf462088d13 | 123 | ERROR_VARIABLE output) |
markrad | 0:cdf462088d13 | 124 | |
markrad | 0:cdf462088d13 | 125 | if (NOT ${result} EQUAL 0) |
markrad | 0:cdf462088d13 | 126 | message(FATAL_ERROR "Could not create symbolic link for: ${target} --> ${output}") |
markrad | 0:cdf462088d13 | 127 | endif() |
markrad | 0:cdf462088d13 | 128 | endif() |
markrad | 0:cdf462088d13 | 129 | endif() |
markrad | 0:cdf462088d13 | 130 |