From d94e2b802f3226db3854521de06424e1c95af4b7 Mon Sep 17 00:00:00 2001 From: matoro Date: Tue, 2 Jul 2024 19:36:45 -0400 Subject: [PATCH] build(CMake): support running tests with ctest --- c/CMakeLists.txt | 8 ++++++++ c/test.py | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/c/CMakeLists.txt b/c/CMakeLists.txt index 3a3b232dc..069dfee5b 100644 --- a/c/CMakeLists.txt +++ b/c/CMakeLists.txt @@ -168,6 +168,14 @@ else() BLAKE3_DISABLE_SIMD() endif() +# cmake test support +get_target_property(BLAKE3_SOURCES blake3 SOURCES) +add_executable(blake3-testing ${BLAKE3_SOURCES} main.c) +set_property(TARGET blake3-testing PROPERTY OUTPUT_NAME blake3) +target_compile_definitions(blake3-testing PRIVATE BLAKE3_TESTING=1) +enable_testing() +add_test(test_vectors "${CMAKE_CURRENT_SOURCE_DIR}/test.py" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + # cmake install support install(FILES blake3.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") install(TARGETS blake3 EXPORT blake3-targets) diff --git a/c/test.py b/c/test.py index 98b1c3dff..2eb1f07e5 100755 --- a/c/test.py +++ b/c/test.py @@ -2,7 +2,7 @@ from binascii import hexlify import json -from os import path +from os import getcwd, path import subprocess HERE = path.dirname(__file__) @@ -11,7 +11,7 @@ def run_blake3(args, input): - output = subprocess.run([path.join(HERE, "blake3")] + args, + output = subprocess.run([path.join(getcwd(), "blake3")] + args, input=input, stdout=subprocess.PIPE, check=True)