blob: 2e8f13199cc3ebb93828fb4e26dc54360616c6dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
get_filename_component(tmp ".." ABSOLUTE)
get_filename_component(src_folder "${tmp}" NAME)
get_filename_component(OAP_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" DIRECTORY)
get_filename_component(OAP_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}" DIRECTORY)
get_filename_component(IRMD_SOURCE_DIR "${OAP_SOURCE_DIR}" DIRECTORY)
get_filename_component(IRMD_BINARY_DIR "${OAP_BINARY_DIR}" DIRECTORY)
compute_test_prefix()
create_test_sourcelist(${src_folder}_tests test_suite.c
# Add new tests here
oap_test.c
)
create_test_sourcelist(${src_folder}_pqc_tests test_suite_pqc.c
# PQC-specific tests
oap_test_pqc.c
)
# OAP test needs io.c compiled with OAP_TEST_MODE
set(OAP_TEST_SOURCES
${OAP_SOURCE_DIR}/io.c
${OAP_SOURCE_DIR}/hdr.c
${OAP_SOURCE_DIR}/auth.c
${OAP_SOURCE_DIR}/srv.c
${OAP_SOURCE_DIR}/cli.c
${CMAKE_CURRENT_SOURCE_DIR}/common.c
)
# Regular test executable (ECDSA)
add_executable(${src_folder}_test ${${src_folder}_tests} ${OAP_TEST_SOURCES})
set_source_files_properties(${OAP_TEST_SOURCES}
PROPERTIES COMPILE_DEFINITIONS "OAP_TEST_MODE"
)
disable_test_logging_for_target(${src_folder}_test)
target_link_libraries(${src_folder}_test ouroboros-irm)
target_include_directories(${src_folder}_test PRIVATE
${IRMD_SOURCE_DIR}
${IRMD_BINARY_DIR}
)
# PQC test executable (ML-DSA)
add_executable(${src_folder}_pqc_test ${${src_folder}_pqc_tests} ${OAP_TEST_SOURCES})
set_source_files_properties(${OAP_TEST_SOURCES}
TARGET_DIRECTORY ${src_folder}_pqc_test
PROPERTIES COMPILE_DEFINITIONS "OAP_TEST_MODE"
)
disable_test_logging_for_target(${src_folder}_pqc_test)
target_link_libraries(${src_folder}_pqc_test ouroboros-irm)
target_include_directories(${src_folder}_pqc_test PRIVATE
${IRMD_SOURCE_DIR}
${IRMD_BINARY_DIR}
)
add_dependencies(build_tests ${src_folder}_test ${src_folder}_pqc_test)
# Regular tests
set(tests_to_run ${${src_folder}_tests})
if(CMAKE_VERSION VERSION_LESS "3.29.0")
remove(tests_to_run test_suite.c)
else ()
list(POP_FRONT tests_to_run)
endif()
foreach(test ${tests_to_run})
get_filename_component(test_name ${test} NAME_WE)
add_test(${TEST_PREFIX}/${test_name} ${CMAKE_CURRENT_BINARY_DIR}/${src_folder}_test ${test_name})
endforeach(test)
# PQC tests
set(pqc_tests_to_run ${${src_folder}_pqc_tests})
if(CMAKE_VERSION VERSION_LESS "3.29.0")
remove(pqc_tests_to_run test_suite_pqc.c)
else ()
list(POP_FRONT pqc_tests_to_run)
endif()
foreach(test ${pqc_tests_to_run})
get_filename_component(test_name ${test} NAME_WE)
add_test(${TEST_PREFIX}/${test_name} ${CMAKE_CURRENT_BINARY_DIR}/${src_folder}_pqc_test ${test_name})
endforeach(test)
set_property(TEST ${TEST_PREFIX}/oap_test PROPERTY SKIP_RETURN_CODE 1)
set_property(TEST ${TEST_PREFIX}/oap_test_pqc PROPERTY SKIP_RETURN_CODE 1)
|