summaryrefslogtreecommitdiff
path: root/tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r--tests/CMakeLists.txt62
1 files changed, 61 insertions, 1 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 1407fc7..ad314eb 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -16,19 +16,43 @@ add_executable(tiny-convmem-domain-test
)
target_include_directories(tiny-convmem-domain-test PRIVATE "${PROJECT_SOURCE_DIR}/src")
target_compile_features(tiny-convmem-domain-test PRIVATE c_std_17)
+target_link_libraries(tiny-convmem-domain-test PRIVATE tiny-convmem-base)
if(MSVC)
target_compile_options(tiny-convmem-domain-test PRIVATE /utf-8 /W4)
endif()
add_test(NAME tiny-convmem-mcp.domain COMMAND tiny-convmem-domain-test)
+add_executable(tiny-convmem-boundary-test
+ boundary_test.c
+ "${PROJECT_SOURCE_DIR}/src/mcp/json.c"
+ "${PROJECT_SOURCE_DIR}/src/storage/codec.c"
+)
+target_include_directories(tiny-convmem-boundary-test PRIVATE
+ "${PROJECT_SOURCE_DIR}/src"
+ "${CMAKE_CURRENT_SOURCE_DIR}"
+)
+target_compile_features(tiny-convmem-boundary-test PRIVATE c_std_17)
+target_link_libraries(tiny-convmem-boundary-test PRIVATE tiny-convmem-sys tiny-convmem-base)
+if(MSVC)
+ target_compile_options(tiny-convmem-boundary-test PRIVATE /utf-8 /W4)
+endif()
+add_test(NAME tiny-convmem-mcp.boundaries COMMAND tiny-convmem-boundary-test)
+foreach(boundary_group allocator encoding codec json sys)
+ add_test(
+ NAME "tiny-convmem-mcp.${boundary_group}"
+ COMMAND tiny-convmem-boundary-test "${boundary_group}"
+ )
+endforeach()
+
add_executable(tiny-convmem-storage-test
storage_test.c
"${PROJECT_SOURCE_DIR}/src/domain/message.c"
+ "${PROJECT_SOURCE_DIR}/src/storage/codec.c"
"${PROJECT_SOURCE_DIR}/src/storage/store.c"
)
target_include_directories(tiny-convmem-storage-test PRIVATE "${PROJECT_SOURCE_DIR}/src")
target_compile_features(tiny-convmem-storage-test PRIVATE c_std_17)
-target_link_libraries(tiny-convmem-storage-test PRIVATE bcrypt)
+target_link_libraries(tiny-convmem-storage-test PRIVATE tiny-convmem-sys)
if(MSVC)
target_compile_options(tiny-convmem-storage-test PRIVATE /utf-8 /W4)
endif()
@@ -47,3 +71,39 @@ set_tests_properties(tiny-convmem-mcp.lifecycle PROPERTIES TIMEOUT 15)
add_test(NAME tiny-convmem-mcp.requires-data-dir COMMAND $<TARGET_FILE:tiny-convmem-mcp>)
set_tests_properties(tiny-convmem-mcp.requires-data-dir PROPERTIES WILL_FAIL TRUE)
+
+find_package(Git REQUIRED)
+find_program(
+ CLANG_FORMAT_EXECUTABLE
+ NAMES clang-format
+ HINTS "C:/Program Files/Microsoft Visual Studio/18/Community/VC/Tools/Llvm/x64/bin"
+)
+add_test(
+ NAME tiny-convmem-mcp.audit
+ COMMAND "${CMAKE_COMMAND}"
+ "-DSOURCE_DIR=${PROJECT_SOURCE_DIR}"
+ "-DGIT_EXECUTABLE=${GIT_EXECUTABLE}"
+ "-DCLANG_FORMAT_EXECUTABLE=${CLANG_FORMAT_EXECUTABLE}"
+ -P "${CMAKE_CURRENT_SOURCE_DIR}/audit.cmake"
+)
+
+if(TINY_CONVMEM_ENABLE_ASAN AND MSVC)
+ get_filename_component(TINY_CONVMEM_MSVC_BIN_DIR "${CMAKE_C_COMPILER}" DIRECTORY)
+ set_property(
+ TEST
+ tiny-convmem-mcp.smoke
+ tiny-convmem-mcp.domain
+ tiny-convmem-mcp.boundaries
+ tiny-convmem-mcp.allocator
+ tiny-convmem-mcp.encoding
+ tiny-convmem-mcp.codec
+ tiny-convmem-mcp.json
+ tiny-convmem-mcp.sys
+ tiny-convmem-mcp.storage
+ tiny-convmem-mcp.lifecycle
+ tiny-convmem-mcp.requires-data-dir
+ tiny-convmem-mcp.audit
+ APPEND PROPERTY ENVIRONMENT_MODIFICATION
+ "PATH=path_list_prepend:${TINY_CONVMEM_MSVC_BIN_DIR}"
+ )
+endif()