1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-08 19:46:02 +01:00

shellcheck fix: tests/functional/optimise-store.sh

This commit is contained in:
Farid Zakaria 2025-09-29 10:03:50 -07:00
parent 375529c7e5
commit 32818483a5
2 changed files with 10 additions and 8 deletions

View file

@ -106,7 +106,6 @@
enable = true; enable = true;
excludes = [ excludes = [
# We haven't linted these files yet # We haven't linted these files yet
''^tests/functional/optimise-store\.sh$''
''^tests/functional/output-normalization\.sh$'' ''^tests/functional/output-normalization\.sh$''
''^tests/functional/parallel\.builder\.sh$'' ''^tests/functional/parallel\.builder\.sh$''
''^tests/functional/parallel\.sh$'' ''^tests/functional/parallel\.sh$''

View file

@ -4,28 +4,31 @@ source common.sh
clearStoreIfPossible clearStoreIfPossible
# shellcheck disable=SC2016
outPath1=$(echo 'with import '"${config_nix}"'; mkDerivation { name = "foo1"; builder = builtins.toFile "builder" "mkdir $out; echo hello > $out/foo"; }' | nix-build - --no-out-link --auto-optimise-store) outPath1=$(echo 'with import '"${config_nix}"'; mkDerivation { name = "foo1"; builder = builtins.toFile "builder" "mkdir $out; echo hello > $out/foo"; }' | nix-build - --no-out-link --auto-optimise-store)
# shellcheck disable=SC2016
outPath2=$(echo 'with import '"${config_nix}"'; mkDerivation { name = "foo2"; builder = builtins.toFile "builder" "mkdir $out; echo hello > $out/foo"; }' | nix-build - --no-out-link --auto-optimise-store) outPath2=$(echo 'with import '"${config_nix}"'; mkDerivation { name = "foo2"; builder = builtins.toFile "builder" "mkdir $out; echo hello > $out/foo"; }' | nix-build - --no-out-link --auto-optimise-store)
TODO_NixOS # ignoring the client-specified setting 'auto-optimise-store', because it is a restricted setting and you are not a trusted user TODO_NixOS # ignoring the client-specified setting 'auto-optimise-store', because it is a restricted setting and you are not a trusted user
# TODO: only continue when trusted user or root # TODO: only continue when trusted user or root
inode1="$(stat --format=%i $outPath1/foo)" inode1="$(stat --format=%i "$outPath1"/foo)"
inode2="$(stat --format=%i $outPath2/foo)" inode2="$(stat --format=%i "$outPath2"/foo)"
if [ "$inode1" != "$inode2" ]; then if [ "$inode1" != "$inode2" ]; then
echo "inodes do not match" echo "inodes do not match"
exit 1 exit 1
fi fi
nlink="$(stat --format=%h $outPath1/foo)" nlink="$(stat --format=%h "$outPath1"/foo)"
if [ "$nlink" != 3 ]; then if [ "$nlink" != 3 ]; then
echo "link count incorrect" echo "link count incorrect"
exit 1 exit 1
fi fi
# shellcheck disable=SC2016
outPath3=$(echo 'with import '"${config_nix}"'; mkDerivation { name = "foo3"; builder = builtins.toFile "builder" "mkdir $out; echo hello > $out/foo"; }' | nix-build - --no-out-link) outPath3=$(echo 'with import '"${config_nix}"'; mkDerivation { name = "foo3"; builder = builtins.toFile "builder" "mkdir $out; echo hello > $out/foo"; }' | nix-build - --no-out-link)
inode3="$(stat --format=%i $outPath3/foo)" inode3="$(stat --format=%i "$outPath3"/foo)"
if [ "$inode1" = "$inode3" ]; then if [ "$inode1" = "$inode3" ]; then
echo "inodes match unexpectedly" echo "inodes match unexpectedly"
exit 1 exit 1
@ -34,8 +37,8 @@ fi
# XXX: This should work through the daemon too # XXX: This should work through the daemon too
NIX_REMOTE="" nix-store --optimise NIX_REMOTE="" nix-store --optimise
inode1="$(stat --format=%i $outPath1/foo)" inode1="$(stat --format=%i "$outPath1"/foo)"
inode3="$(stat --format=%i $outPath3/foo)" inode3="$(stat --format=%i "$outPath3"/foo)"
if [ "$inode1" != "$inode3" ]; then if [ "$inode1" != "$inode3" ]; then
echo "inodes do not match" echo "inodes do not match"
exit 1 exit 1
@ -43,7 +46,7 @@ fi
nix-store --gc nix-store --gc
if [ -n "$(ls $NIX_STORE_DIR/.links)" ]; then if [ -n "$(ls "$NIX_STORE_DIR"/.links)" ]; then
echo ".links directory not empty after GC" echo ".links directory not empty after GC"
exit 1 exit 1
fi fi