lib/tests: Fix when run with Nix 2.3
This commit is contained in:
@@ -378,7 +378,7 @@ checkConfigOutput '^{ }$' config.sub.nixosOk ./class-check.nix
|
|||||||
checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.sub.nixosFail.config ./class-check.nix
|
checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.sub.nixosFail.config ./class-check.nix
|
||||||
|
|
||||||
# submoduleWith type merge with different class
|
# submoduleWith type merge with different class
|
||||||
checkConfigError 'error: A submoduleWith option is declared multiple times with conflicting class values "darwin" and "nixos".' config.sub.mergeFail.config ./class-check.nix
|
checkConfigError 'A submoduleWith option is declared multiple times with conflicting class values "darwin" and "nixos".' config.sub.mergeFail.config ./class-check.nix
|
||||||
|
|
||||||
# _type check
|
# _type check
|
||||||
checkConfigError 'Could not load a value as a module, because it is of type "flake", in file .*/module-imports-_type-check.nix' config.ok.config ./module-imports-_type-check.nix
|
checkConfigError 'Could not load a value as a module, because it is of type "flake", in file .*/module-imports-_type-check.nix' config.ok.config ./module-imports-_type-check.nix
|
||||||
|
|||||||
@@ -23,14 +23,19 @@ clean_up() {
|
|||||||
trap clean_up EXIT
|
trap clean_up EXIT
|
||||||
cd "$work"
|
cd "$work"
|
||||||
|
|
||||||
|
# Crudely unquotes a JSON string by just taking everything between the first and the second quote.
|
||||||
|
# We're only using this for resulting /nix/store paths, which can't contain " anyways,
|
||||||
|
# nor can they contain any other characters that would need to be escaped specially in JSON
|
||||||
|
# This way we don't need to add a dependency on e.g. jq
|
||||||
|
crudeUnquoteJSON() {
|
||||||
|
cut -d \" -f2
|
||||||
|
}
|
||||||
|
|
||||||
touch {README.md,module.o,foo.bar}
|
touch {README.md,module.o,foo.bar}
|
||||||
|
|
||||||
# nix-instantiate doesn't write out the source, only computing the hash, so
|
dir="$(nix-instantiate --eval --strict --read-write-mode --json --expr '(with import <nixpkgs/lib>; "${
|
||||||
# this uses the experimental nix command instead.
|
|
||||||
|
|
||||||
dir="$(nix eval --impure --raw --expr '(with import <nixpkgs/lib>; "${
|
|
||||||
cleanSource ./.
|
cleanSource ./.
|
||||||
}")')"
|
}")' | crudeUnquoteJSON)"
|
||||||
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||||
.
|
.
|
||||||
./foo.bar
|
./foo.bar
|
||||||
@@ -39,9 +44,9 @@ EOF
|
|||||||
) || die "cleanSource 1"
|
) || die "cleanSource 1"
|
||||||
|
|
||||||
|
|
||||||
dir="$(nix eval --impure --raw --expr '(with import <nixpkgs/lib>; "${
|
dir="$(nix-instantiate --eval --strict --read-write-mode --json --expr '(with import <nixpkgs/lib>; "${
|
||||||
cleanSourceWith { src = '"$work"'; filter = path: type: ! hasSuffix ".bar" path; }
|
cleanSourceWith { src = '"$work"'; filter = path: type: ! hasSuffix ".bar" path; }
|
||||||
}")')"
|
}")' | crudeUnquoteJSON)"
|
||||||
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||||
.
|
.
|
||||||
./module.o
|
./module.o
|
||||||
@@ -49,9 +54,9 @@ dir="$(nix eval --impure --raw --expr '(with import <nixpkgs/lib>; "${
|
|||||||
EOF
|
EOF
|
||||||
) || die "cleanSourceWith 1"
|
) || die "cleanSourceWith 1"
|
||||||
|
|
||||||
dir="$(nix eval --impure --raw --expr '(with import <nixpkgs/lib>; "${
|
dir="$(nix-instantiate --eval --strict --read-write-mode --json --expr '(with import <nixpkgs/lib>; "${
|
||||||
cleanSourceWith { src = cleanSource '"$work"'; filter = path: type: ! hasSuffix ".bar" path; }
|
cleanSourceWith { src = cleanSource '"$work"'; filter = path: type: ! hasSuffix ".bar" path; }
|
||||||
}")')"
|
}")' | crudeUnquoteJSON)"
|
||||||
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||||
.
|
.
|
||||||
./README.md
|
./README.md
|
||||||
|
|||||||
Reference in New Issue
Block a user