From bbe1d0cd5612109ec87e3a2c8ed4ae508e90fade Mon Sep 17 00:00:00 2001 From: Vinzent Steinberg Date: Sat, 10 Apr 2021 00:48:58 -0300 Subject: [PATCH] Improve error message for `cargo test` There is a custom compiler error, hinting that the "debug", "compare" and "rand" feature are required for compiling and running the tests. However, this error was not displayed when running `cargo test` due to other compilation errors taking precedence. This is now avoided by just not compiling the integration tests when the necessary features are not enabled. --- tests/lib.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/lib.rs b/tests/lib.rs index add7a468..8ee85f07 100644 --- a/tests/lib.rs +++ b/tests/lib.rs @@ -1,8 +1,4 @@ -#[cfg(any( - not(feature = "debug"), - not(feature = "compare"), - not(feature = "rand") -))] +#[cfg(not(all(feature = "debug", feature = "compare", feature = "rand")))] compile_error!( "Please enable the `debug`, `compare`, and `rand` features in order to compile and run the tests. Example: `cargo test --features debug,compare,rand`" @@ -10,18 +6,25 @@ compile_error!( #[cfg(feature = "abomonation-serialize")] extern crate abomonation; +#[cfg(all(feature = "debug", feature = "compare", feature = "rand"))] #[macro_use] extern crate approx; extern crate nalgebra as na; extern crate num_traits as num; +#[cfg(feature = "rand")] extern crate rand_package as rand; +#[cfg(all(feature = "debug", feature = "compare", feature = "rand"))] mod core; +#[cfg(all(feature = "debug", feature = "compare", feature = "rand"))] mod geometry; +#[cfg(all(feature = "debug", feature = "compare", feature = "rand"))] mod linalg; +#[cfg(all(feature = "debug", feature = "compare", feature = "rand"))] #[cfg(feature = "proptest-support")] mod proptest; +//#[cfg(all(feature = "debug", feature = "compare", feature = "rand"))] //#[cfg(feature = "sparse")] //mod sparse;