summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2020-09-23 19:09:58 +0200
committerEelco Dolstra <edolstra@gmail.com>2020-09-23 19:09:58 +0200
commit31ab4c3816675b5bf2f7b29dfb10112cd8ec9ceb (patch)
treef93292c8fdfc4b60a54b3c58b981bddfd650f2fd /tests
parentcec94738715275ec4761071cefe4a9ae1a565960 (diff)
Test whether build/repair results are read-only
Diffstat (limited to 'tests')
-rw-r--r--tests/repair.sh13
-rw-r--r--tests/simple.sh4
2 files changed, 8 insertions, 9 deletions
diff --git a/tests/repair.sh b/tests/repair.sh
index ec7ad5dca..ba019028d 100644
--- a/tests/repair.sh
+++ b/tests/repair.sh
@@ -13,14 +13,14 @@ hash=$(nix-hash $path2)
chmod u+w $path2
touch $path2/bad
-if nix-store --verify --check-contents -v; then
- echo "nix-store --verify succeeded unexpectedly" >&2
- exit 1
-fi
+(! nix-store --verify --check-contents -v)
# The path can be repaired by rebuilding the derivation.
nix-store --verify --check-contents --repair
+(! [ -e $path2/bad ])
+(! [ -w $path2 ])
+
nix-store --verify-path $path2
# Re-corrupt and delete the deriver. Now --verify --repair should
@@ -30,10 +30,7 @@ touch $path2/bad
nix-store --delete $(nix-store -qd $path2)
-if nix-store --verify --check-contents --repair; then
- echo "nix-store --verify --repair succeeded unexpectedly" >&2
- exit 1
-fi
+(! nix-store --verify --check-contents --repair)
nix-build dependencies.nix -o $TEST_ROOT/result --repair
diff --git a/tests/simple.sh b/tests/simple.sh
index 37631b648..15bd2bd16 100644
--- a/tests/simple.sh
+++ b/tests/simple.sh
@@ -10,13 +10,15 @@ outPath=$(nix-store -rvv "$drvPath")
echo "output path is $outPath"
+(! [ -w $outPath ])
+
text=$(cat "$outPath"/hello)
if test "$text" != "Hello World!"; then exit 1; fi
# Directed delete: $outPath is not reachable from a root, so it should
# be deleteable.
nix-store --delete $outPath
-if test -e $outPath/hello; then false; fi
+(! [ -e $outPath/hello ])
outPath="$(NIX_REMOTE=local?store=/foo\&real=$TEST_ROOT/real-store nix-instantiate --readonly-mode hash-check.nix)"
if test "$outPath" != "/foo/lfy1s6ca46rm5r6w4gg9hc0axiakjcnm-dependencies.drv"; then