From 17d743487bef98a9ed4a521d63ce462f5113a8e1 Mon Sep 17 00:00:00 2001 From: Dominic Hamon Date: Mon, 15 Jun 2026 16:00:44 +0100 Subject: [PATCH] better rust build/test --- .github/workflows/test_bindings.yml | 5 +++-- test/CMakeLists.txt | 8 ++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test_bindings.yml b/.github/workflows/test_bindings.yml index e8639f2b7..eea13b73e 100644 --- a/.github/workflows/test_bindings.yml +++ b/.github/workflows/test_bindings.yml @@ -54,7 +54,8 @@ jobs: - name: Run Rust tests natively via Cargo run: cargo test working-directory: bindings/rust - - name: Run Rust tests via CMake target + - name: Run Rust tests via CMake run: | cmake -S . -B build -DBENCHMARK_ENABLE_RUST_BINDINGS=ON -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON - cmake --build build --target test_rust_bindings + cmake --build build + cd build && ctest -R rust_bindings_tests diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 588b463f5..280113cce 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -329,9 +329,13 @@ endif() if (BENCHMARK_ENABLE_RUST_BINDINGS) find_program(CARGO_EXECUTABLE cargo REQUIRED) - add_custom_target(test_rust_bindings ALL + add_custom_target(build_rust_bindings ALL + COMMAND ${CARGO_EXECUTABLE} build --tests + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/bindings/rust + COMMENT "Building Rust bindings and tests" + ) + add_test(NAME rust_bindings_tests COMMAND ${CARGO_EXECUTABLE} test WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/bindings/rust - COMMENT "Running Rust bindings tests" ) endif()