housekeeping: shellcheck for tests/functional/flakes/build-paths.sh

This commit is contained in:
Cameron Dart 2024-06-04 13:33:10 -07:00 committed by John Ericson
parent d81fd4a1c3
commit ee57c610ae

View File

@ -5,15 +5,15 @@ source ./common.sh
flake1Dir=$TEST_ROOT/flake1 flake1Dir=$TEST_ROOT/flake1
flake2Dir=$TEST_ROOT/flake2 flake2Dir=$TEST_ROOT/flake2
mkdir -p $flake1Dir $flake2Dir mkdir -p "$flake1Dir" "$flake2Dir"
writeSimpleFlake $flake2Dir writeSimpleFlake "$flake2Dir"
tar cfz $TEST_ROOT/flake.tar.gz -C $TEST_ROOT flake2 tar cfz "$TEST_ROOT"/flake.tar.gz -C "$TEST_ROOT" flake2
hash=$(nix hash path $flake2Dir) hash=$(nix hash path "$flake2Dir")
dep=$(nix store add-path ./common.sh) dep=$(nix store add-path ./common.sh)
cat > $flake1Dir/flake.nix <<EOF cat > "$flake1Dir"/flake.nix <<EOF
{ {
inputs.flake2.url = "file://$TEST_ROOT/flake.tar.gz"; inputs.flake2.url = "file://$TEST_ROOT/flake.tar.gz";
@ -79,43 +79,43 @@ cat > $flake1Dir/flake.nix <<EOF
} }
EOF EOF
cp ../simple.nix ../simple.builder.sh ../config.nix $flake1Dir/ cp ../simple.nix ../simple.builder.sh ../config.nix "$flake1Dir/"
echo bar > $flake1Dir/foo echo bar > "$flake1Dir/foo"
nix build --json --out-link $TEST_ROOT/result $flake1Dir#a1 nix build --json --out-link "$TEST_ROOT/result" "$flake1Dir#a1"
[[ -e $TEST_ROOT/result/simple.nix ]] [[ -e $TEST_ROOT/result/simple.nix ]]
nix build --json --out-link $TEST_ROOT/result $flake1Dir#a2 nix build --json --out-link "$TEST_ROOT/result" "$flake1Dir#a2"
[[ $(cat $TEST_ROOT/result) = bar ]] [[ $(cat "$TEST_ROOT/result") = bar ]]
nix build --json --out-link $TEST_ROOT/result $flake1Dir#a3 nix build --json --out-link "$TEST_ROOT/result" "$flake1Dir#a3"
nix build --json --out-link $TEST_ROOT/result $flake1Dir#a4 nix build --json --out-link "$TEST_ROOT/result" "$flake1Dir#a4"
nix build --json --out-link $TEST_ROOT/result $flake1Dir#a6 nix build --json --out-link "$TEST_ROOT/result" "$flake1Dir#a6"
[[ -e $TEST_ROOT/result/simple.nix ]] [[ -e $TEST_ROOT/result/simple.nix ]]
nix build --impure --json --out-link $TEST_ROOT/result $flake1Dir#a8 nix build --impure --json --out-link "$TEST_ROOT/result" "$flake1Dir#a8"
diff common.sh $TEST_ROOT/result diff common.sh "$TEST_ROOT/result"
expectStderr 1 nix build --impure --json --out-link $TEST_ROOT/result $flake1Dir#a9 \ expectStderr 1 nix build --impure --json --out-link "$TEST_ROOT/result" "$flake1Dir#a9" \
| grepQuiet "has 0 entries in its context. It should only have exactly one entry" | grepQuiet "has 0 entries in its context. It should only have exactly one entry"
nix build --json --out-link $TEST_ROOT/result $flake1Dir#a10 nix build --json --out-link "$TEST_ROOT/result" "$flake1Dir"#a10
[[ $(readlink -e $TEST_ROOT/result) = *simple.drv ]] [[ $(readlink -e "$TEST_ROOT/result") = *simple.drv ]]
expectStderr 1 nix build --json --out-link $TEST_ROOT/result $flake1Dir#a11 \ expectStderr 1 nix build --json --out-link "$TEST_ROOT/result" "$flake1Dir#a11" \
| grepQuiet "has a context which refers to a complete source and binary closure" | grepQuiet "has a context which refers to a complete source and binary closure"
nix build --json --out-link $TEST_ROOT/result $flake1Dir#a12 nix build --json --out-link "$TEST_ROOT/result" "$flake1Dir#a12"
[[ -e $TEST_ROOT/result/hello ]] [[ -e $TEST_ROOT/result/hello ]]
expectStderr 1 nix build --impure --json --out-link $TEST_ROOT/result $flake1Dir#a13 \ expectStderr 1 nix build --impure --json --out-link "$TEST_ROOT/result" "$flake1Dir#a13" \
| grepQuiet "has 2 entries in its context. It should only have exactly one entry" | grepQuiet "has 2 entries in its context. It should only have exactly one entry"
# Test accessing output in installables with `.` (foobarbaz.<output>) # Test accessing output in installables with `.` (foobarbaz.<output>)
nix build --json --no-link $flake1Dir#a14.foo | jq --exit-status ' nix build --json --no-link "$flake1Dir"#a14.foo | jq --exit-status '
(.[0] | (.[0] |
(.drvPath | match(".*dot-installable.drv")) and (.drvPath | match(".*dot-installable.drv")) and
(.outputs | keys == ["foo"])) (.outputs | keys == ["foo"]))