From 92c53fe982560248dc7655a5605db5e3cfc35d04 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Wed, 10 Aug 2022 18:53:50 +0300 Subject: feat(tvix/tests): check in Nix' language test suite This adds scaffolding code for running the Nix language test suite. The majority of eval-okay-* tests should eventually be runnable as-is by Tvix, however the eval-fail-* tests might not as we intend to have more useful error messages than upstream Nix. Change-Id: I4f3227f0889c55e4274b804a3072850fb78dd1bd Reviewed-on: https://cl.tvl.fyi/c/depot/+/6126 Tested-by: BuildkiteCI Autosubmit: tazjin Reviewed-by: grfn --- .../tests/nix_tests/eval-okay-dynamic-attrs-bare.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix (limited to 'tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix') diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix b/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix new file mode 100644 index 000000000000..0dbe15e6384c --- /dev/null +++ b/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix @@ -0,0 +1,17 @@ +let + aString = "a"; + + bString = "b"; +in { + hasAttrs = { a.b = null; } ? ${aString}.b; + + selectAttrs = { a.b = true; }.a.${bString}; + + selectOrAttrs = { }.${aString} or true; + + binds = { ${aString}."${bString}c" = true; }.a.bc; + + recBinds = rec { ${bString} = a; a = true; }.b; + + multiAttrs = { ${aString} = true; ${bString} = false; }.a; +} -- cgit 1.4.1