From 50150fa3c8518d5b55dc6ccdeb365fb5f1e34ae0 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 26 Jun 2024 09:44:55 +0300 Subject: [PATCH] feat(tvix/glue): add eval-fail-* support to glue tests Add some eval-fail-fetcht-*.nix test cases. Change-Id: Ic02beabf120d1de8df6f9c098d5a074127069f81 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11880 Tested-by: BuildkiteCI Reviewed-by: Simon Hauser --- tvix/glue/src/tests/mod.rs | 8 ++++++++ .../tvix_tests/eval-fail-fetchtarball-invalid-url.nix | 1 + .../tests/tvix_tests/eval-fail-fetchurl-invalid-url.nix | 1 + 3 files changed, 10 insertions(+) create mode 100644 tvix/glue/src/tests/tvix_tests/eval-fail-fetchtarball-invalid-url.nix create mode 100644 tvix/glue/src/tests/tvix_tests/eval-fail-fetchurl-invalid-url.nix diff --git a/tvix/glue/src/tests/mod.rs b/tvix/glue/src/tests/mod.rs index 9fe0c2227..5b474be73 100644 --- a/tvix/glue/src/tests/mod.rs +++ b/tvix/glue/src/tests/mod.rs @@ -145,3 +145,11 @@ fn nix_eval_okay(#[files("src/tests/nix_tests/eval-okay-*.nix")] code_path: Path // ) { // eval_test(code_path, false) // } + +// eval-fail-* tests contain a snippet of Nix code, which is +// expected to fail evaluation. The exact type of failure +// (assertion, parse error, etc) is not currently checked. +#[rstest] +fn eval_fail(#[files("src/tests/tvix_tests/eval-fail-*.nix")] code_path: PathBuf) { + eval_test(code_path, false) +} diff --git a/tvix/glue/src/tests/tvix_tests/eval-fail-fetchtarball-invalid-url.nix b/tvix/glue/src/tests/tvix_tests/eval-fail-fetchtarball-invalid-url.nix new file mode 100644 index 000000000..32596ddcd --- /dev/null +++ b/tvix/glue/src/tests/tvix_tests/eval-fail-fetchtarball-invalid-url.nix @@ -0,0 +1 @@ +(builtins.fetchTarball /dev/null) diff --git a/tvix/glue/src/tests/tvix_tests/eval-fail-fetchurl-invalid-url.nix b/tvix/glue/src/tests/tvix_tests/eval-fail-fetchurl-invalid-url.nix new file mode 100644 index 000000000..dc3f70b99 --- /dev/null +++ b/tvix/glue/src/tests/tvix_tests/eval-fail-fetchurl-invalid-url.nix @@ -0,0 +1 @@ +(builtins.fetchurl /dev/null)