diff options
Diffstat (limited to 'tvix/eval/tests/nix_oracle.rs')
-rw-r--r-- | tvix/eval/tests/nix_oracle.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/tvix/eval/tests/nix_oracle.rs b/tvix/eval/tests/nix_oracle.rs index 5a5cc0a8223f..cc2a7b519e8f 100644 --- a/tvix/eval/tests/nix_oracle.rs +++ b/tvix/eval/tests/nix_oracle.rs @@ -56,11 +56,18 @@ fn nix_eval(expr: &str, strictness: Strictness) -> String { /// `NIX_INSTANTIATE_BINARY_PATH` env var to resolve the `nix-instantiate` binary) and tvix, and /// assert that the result is identical #[track_caller] +#[cfg(feature = "impure")] fn compare_eval(expr: &str, strictness: Strictness) { + use tvix_eval::EvalIO; + let nix_result = nix_eval(expr, strictness); - let mut eval = tvix_eval::Evaluation::new_pure(); - eval.strict = matches!(strictness, Strictness::Strict); - eval.io_handle = Box::new(tvix_eval::StdIO); + let mut eval_builder = tvix_eval::Evaluation::builder_pure(); + if matches!(strictness, Strictness::Strict) { + eval_builder = eval_builder.strict(); + } + let eval = eval_builder + .io_handle(Box::new(tvix_eval::StdIO) as Box<dyn EvalIO>) + .build(); let tvix_result = eval .evaluate(expr, None) @@ -76,6 +83,7 @@ fn compare_eval(expr: &str, strictness: Strictness) { macro_rules! compare_eval_tests { ($strictness:expr, {}) => {}; ($strictness:expr, {$(#[$meta:meta])* $test_name: ident($expr: expr); $($rest:tt)*}) => { + #[cfg(feature = "impure")] #[test] $(#[$meta])* fn $test_name() { |