better rust build/test (#2223)
diff --git a/.github/workflows/test_bindings.yml b/.github/workflows/test_bindings.yml
index e8639f2..eea13b7 100644
--- a/.github/workflows/test_bindings.yml
+++ b/.github/workflows/test_bindings.yml
@@ -54,7 +54,8 @@
- 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 588b463..280113c 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -329,9 +329,13 @@
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()