test(tvix/verify-lang-tests): also check notyetpassing tests

Adding these to the C++ Nix CI ensures that it is possible for the
tests in that directory to pass at all. Mainly this would catch
situations like fixed in a previous CL when moving the tests around
would break them so that they wouldn't even pass in C++ Nix.

For this to work, we need to track skips by basename to be
directory-independent (assuming that every skipped test name is unique
is hopefully okay).

Change-Id: If6cb63ebdef0fc19b082b6a04e79ada2e47c658e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7048
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
sterni 2022-10-19 19:26:28 +02:00
parent b5b968e103
commit b410655a5e

View file

@ -34,25 +34,25 @@ let
(builtins.map (parseTest dir))
(builtins.filter (t: t != null))
]
) [ "nix_tests" "tvix_tests" ];
) [ "nix_tests" "nix_tests/notyetpassing" "tvix_tests" ];
skippedLangTests = {
# TODO(sterni): set up NIX_PATH in sandbox
"nix_tests/eval-okay-search-path.nix" = true;
"eval-okay-search-path.nix" = true;
# Floating point precision differs between tvix and Nix
"tvix_tests/eval-okay-fromjson.nix" = true;
# C++ Nix can't do TCO
"nix_tests/eval-okay-tail-call-1.nix" = true;
"eval-okay-fromjson.nix" = true;
# C++ Nix can't TCO
"eval-okay-tail-call-1.nix" = true;
# Ordering change after 2.3
"nix_tests/eval-okay-xml.nix" = [ nix ];
"eval-okay-xml.nix" = [ nix ];
# Missing builtins in Nix 2.3
"nix_tests/eval-okay-floor-ceil.nix" = [ nix ];
"nix_tests/eval-okay-groupBy.nix" = [ nix ];
"nix_tests/eval-okay-zipAttrsWith.nix" = [ nix ];
"eval-okay-floor-ceil.nix" = [ nix ];
"eval-okay-groupBy.nix" = [ nix ];
"eval-okay-zipAttrsWith.nix" = [ nix ];
# Comparable lists are not in Nix 2.3
"nix_tests/eval-okay-sort.nix" = [ nix ];
"eval-okay-sort.nix" = [ nix ];
# getAttrPos gains support for functionArgs-returned sets after 2.3
"nix_tests/eval-okay-getattrpos-functionargs.nix" = [ nix ];
"eval-okay-getattrpos-functionargs.nix" = [ nix ];
};
runCppNixLangTests = cpp-nix:
@ -76,7 +76,7 @@ let
# or if we are missing an exp file for an eval-okay test.
skip =
let
doSkip = skippedLangTests.${fileName} or false;
doSkip = skippedLangTests.${builtins.baseNameOf fileName} or false;
in
if type == "eval" && expectedSuccess && (expFile == null) then true
else if builtins.isBool doSkip then doSkip