From: Daniel Bevenius Date: Thu, 4 Sep 2025 13:08:30 +0000 (+0200) Subject: tests : use CMake definitions for model/sample paths (#3406) X-Git-Tag: upstream/1.8.0~244 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=9bfc5351304eea36d0fb90b1b88215abd7a44d80;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp tests : use CMake definitions for model/sample paths (#3406) This commit modifies the test-vad and test-vad-full tests to use CMake definitions for the model and sample paths. The motivation for this is that currently the tests use relative paths which might not always be correct depending on the working directory. With the changes in this commit the tests can be run usins ctest: ```console $ ctest -R ^test-vad$ --test-dir build ``` Or directly (which is not currently possible without this fix): ``` ./build/bin/test-vad ``` Resolves: https://github.com/ggml-org/whisper.cpp/issues/3404 --- diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index efa1bbe3..0363193a 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -93,6 +93,9 @@ set(VAD_TEST test-vad) add_executable(${VAD_TEST} ${VAD_TEST}.cpp) target_include_directories(${VAD_TEST} PRIVATE ../include ../ggml/include ../examples) target_link_libraries(${VAD_TEST} PRIVATE common) +target_compile_definitions(${VAD_TEST} PRIVATE + VAD_MODEL_PATH="${PROJECT_SOURCE_DIR}/models/for-tests-silero-v5.1.2-ggml.bin" + SAMPLE_PATH="${PROJECT_SOURCE_DIR}/samples/jfk.wav") add_test(NAME ${VAD_TEST} COMMAND ${VAD_TEST}) set_tests_properties(${VAD_TEST} PROPERTIES LABELS "unit") @@ -101,5 +104,9 @@ set(VAD_TEST test-vad-full) add_executable(${VAD_TEST} ${VAD_TEST}.cpp) target_include_directories(${VAD_TEST} PRIVATE ../include ../ggml/include ../examples) target_link_libraries(${VAD_TEST} PRIVATE common) +target_compile_definitions(${VAD_TEST} PRIVATE + WHISPER_MODEL_PATH="${PROJECT_SOURCE_DIR}/models/ggml-base.en.bin" + VAD_MODEL_PATH="${PROJECT_SOURCE_DIR}/models/for-tests-silero-v5.1.2-ggml.bin" + SAMPLE_PATH="${PROJECT_SOURCE_DIR}/samples/jfk.wav") add_test(NAME ${VAD_TEST} COMMAND ${VAD_TEST}) -set_tests_properties(${VAD_TARGET} PROPERTIES LABELS "base;en") +set_tests_properties(${VAD_TEST} PROPERTIES LABELS "base;en") diff --git a/tests/test-vad-full.cpp b/tests/test-vad-full.cpp index 9eac11ed..3bba36b1 100644 --- a/tests/test-vad-full.cpp +++ b/tests/test-vad-full.cpp @@ -13,9 +13,9 @@ #include int main() { - std::string whisper_model_path = "../../models/ggml-base.en.bin"; - std::string vad_model_path = "../../models/for-tests-silero-v5.1.2-ggml.bin"; - std::string sample_path = "../../samples/jfk.wav"; + std::string whisper_model_path = WHISPER_MODEL_PATH; + std::string vad_model_path = VAD_MODEL_PATH; + std::string sample_path = SAMPLE_PATH; // Load the sample audio file std::vector pcmf32; diff --git a/tests/test-vad.cpp b/tests/test-vad.cpp index e6886e31..535721c8 100644 --- a/tests/test-vad.cpp +++ b/tests/test-vad.cpp @@ -48,8 +48,8 @@ struct whisper_vad_segments * test_detect_timestamps( } int main() { - std::string vad_model_path = "../../models/for-tests-silero-v5.1.2-ggml.bin"; - std::string sample_path = "../../samples/jfk.wav"; + std::string vad_model_path = VAD_MODEL_PATH; + std::string sample_path = SAMPLE_PATH; // Load the sample audio file std::vector pcmf32;