about summary refs log tree commit diff
path: root/tests/check.sh
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2019-05-11T21·32+0200
committerDaiderd Jordan <daiderd@gmail.com>2019-07-01T22·12+0200
commit99ee3755dd12e18f7085b8319a27798b0e5b7de9 (patch)
tree8cc4d7433d40e70104de608f5eb20701b1717faf /tests/check.sh
parentcbf84bcce7d3fddb353d3aa0f012f5cbdbb77629 (diff)
build: add tests for --check status codes
Diffstat (limited to 'tests/check.sh')
-rw-r--r--tests/check.sh23
1 files changed, 19 insertions, 4 deletions
diff --git a/tests/check.sh b/tests/check.sh
index b05e40ffbeea..aa1e5cd26f8a 100644
--- a/tests/check.sh
+++ b/tests/check.sh
@@ -6,14 +6,16 @@ nix-build dependencies.nix --no-out-link
 nix-build dependencies.nix --no-out-link --check
 
 nix-build check.nix -A nondeterministic --no-out-link
-(! nix-build check.nix -A nondeterministic --no-out-link --check 2> $TEST_ROOT/log)
+nix-build check.nix -A nondeterministic --no-out-link --check 2> $TEST_ROOT/log || status=$?
+[ "$status" = "104" ]
 grep 'may not be deterministic' $TEST_ROOT/log
 
 clearStore
 
 nix-build dependencies.nix --no-out-link --repeat 3
 
-(! nix-build check.nix -A nondeterministic --no-out-link --repeat 1 2> $TEST_ROOT/log)
+nix-build check.nix -A nondeterministic --no-out-link --repeat 1 2> $TEST_ROOT/log || status=$?
+[ "$status" = "1" ]
 grep 'differs from previous round' $TEST_ROOT/log
 
 path=$(nix-build check.nix -A fetchurl --no-out-link --hashed-mirrors '')
@@ -23,10 +25,23 @@ echo foo > $path
 chmod -w $path
 
 nix-build check.nix -A fetchurl --no-out-link --check --hashed-mirrors ''
-
 # Note: "check" doesn't repair anything, it just compares to the hash stored in the database.
 [[ $(cat $path) = foo ]]
 
 nix-build check.nix -A fetchurl --no-out-link --repair --hashed-mirrors ''
-
 [[ $(cat $path) != foo ]]
+
+nix-build check.nix -A hashmismatch --no-out-link --hashed-mirrors '' || status=$?
+[ "$status" = "102" ]
+
+echo -n > ./dummy
+nix-build check.nix -A hashmismatch --no-out-link --hashed-mirrors ''
+echo 'Hello World' > ./dummy
+
+nix-build check.nix -A hashmismatch --no-out-link --check --hashed-mirrors '' || status=$?
+[ "$status" = "102" ]
+
+# Multiple failures with --keep-going
+nix-build check.nix -A nondeterministic --no-out-link
+nix-build check.nix -A nondeterministic -A hashmismatch --no-out-link --check --keep-going --hashed-mirrors '' || status=$?
+[ "$status" = "106" ]