blob: d8b48ccf72c9a110252693e4fd1188c48be97023 [file] [log] [blame]
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${dist_dir}/test)
add_executable(cose_test test.c json.c encrypt.c sign.c context.c mac_test.c)
target_link_libraries(cose_test PRIVATE cose-c::cose-c cn-cbor::cn-cbor)
if(COSE_C_USE_MBEDTLS)
# mbedtls
target_link_libraries(cose_test PRIVATE mbedtls)
else()
# OpenSSL
target_include_directories(cose_test PRIVATE ${OPENSSL_INCLUDE_DIR})
target_link_libraries(cose_test PRIVATE ${OPENSSL_LIBRARIES})
endif()
if(MSVC)
target_link_libraries(cose_test PRIVATE ws2_32)
endif()
target_include_directories(cose_test PRIVATE ../src)
# target_include_directories(cose_test PUBLIC ../../cose/cn-cbor/include)
enable_testing()
add_test(NAME cose_test COMMAND cose_test)
add_test(
NAME RFC8152
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/RFC8152)
add_test(
NAME aes-ccm
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/aes-ccm-examples)
add_test(
NAME aes-gcm
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/aes-gcm-examples)
add_test(
NAME enveloped
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/enveloped-tests)
add_test(
NAME encrypted
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/encrypted-tests)
add_test(
NAME cbc-mac
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/cbc-mac-examples)
add_test(
NAME ecdsa
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/ecdsa-examples)
add_test(
NAME hmac
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/hmac-examples)
add_test(
NAME mac
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/mac-tests)
add_test(
NAME mac0
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/mac0-tests)
add_test(
NAME hkdf-hmac-sha
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/hkdf-hmac-sha-examples)
add_test(
NAME hkdf-aes
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/hkdf-aes-examples)
add_test(
NAME aes-wrap
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/aes-wrap-examples)
add_test(
NAME ecdh-direct
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/ecdh-direct-examples)
add_test(
NAME ecdh-wrap
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/ecdh-wrap-examples)
add_test(
NAME sign
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/sign-tests)
add_test(
NAME sign1
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --dir Examples/sign1-tests)
add_test(
NAME corner-cases
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --corners)
add_test(
NAME Memory-mac-hmac
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/hmac-examples/HMac-01.json)
add_test(
NAME Memory-mac-cbc-mac
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/cbc-mac-examples/cbc-mac-01.json)
add_test(
NAME Memory-mac0
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/hmac-examples/HMac-enc-01.json)
add_test(
NAME Memory-encrypt-gcm
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/aes-gcm-examples/aes-gcm-enc-01.json)
add_test(
NAME Memory-encrypt-ccm
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/aes-ccm-examples/aes-ccm-enc-01.json)
add_test(
NAME Memory-enveloped
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/aes-gcm-examples/aes-gcm-01.json)
add_test(
NAME Memory-ecdh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/ecdh-direct-examples/p256-hkdf-256-01.json)
add_test(
NAME Memory-aes-kw
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/aes-wrap-examples/aes-wrap-128-01.json)
add_test(
NAME Memory-sign0
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/ecdsa-examples/ecdsa-sig-01.json)
add_test(
NAME Memory-sign
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND cose_test --memory Examples/ecdsa-examples/ecdsa-01.json)