test(tvix/eval): Add the start of a nix oracle test suite
Add the start of a test suite that compares tvix eval results against nix, using the string repr of the value as the comparison. This shells out to a nix-instantiate binary, which is configurable as an environment variable, to eval - there's some extra machinery there to setup a new nix store as a tempdir to allow running this test inside the nix build for tvix-eval itself. Currently this has a macro that'll allow writing lots and lots of hardcoded tests, but going forward I'm also going to be looking into adding proptest-based generation of expressions to compare. Change-Id: I9f4895fab1e668ed2b7dfd6f92f8c80de1bbb16b Reviewed-on: https://cl.tvl.fyi/c/depot/+/6307 Autosubmit: grfn <grfn@gws.fyi> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
This commit is contained in:
parent
ef80d00b06
commit
67e796b2e1
4 changed files with 165 additions and 30 deletions
|
|
@ -9,6 +9,10 @@ depot.third_party.naersk.buildPackage {
|
|||
doCheck = true;
|
||||
cargoBuildOptions = opts: opts ++ [ "--all-targets" ];
|
||||
|
||||
# Tell the test suite where to find upstream nix, to compare eval results
|
||||
# against
|
||||
NIX_INSTANTIATE_BINARY_PATH = "${pkgs.nix}/bin/nix-instantiate";
|
||||
|
||||
meta.ci.targets = builtins.attrNames self.passthru;
|
||||
|
||||
passthru.cpp-nix-run-lang-tests = pkgs.stdenv.mkDerivation {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue