diff options
Diffstat (limited to 'tests/functional/timeout.sh')
-rw-r--r-- | tests/functional/timeout.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/functional/timeout.sh b/tests/functional/timeout.sh new file mode 100644 index 000000000..b179b79a2 --- /dev/null +++ b/tests/functional/timeout.sh @@ -0,0 +1,39 @@ +# Test the `--timeout' option. + +source common.sh + +# XXX: This shouldn’t be, but #4813 cause this test to fail +needLocalStore "see #4813" + +messages=$(nix-build -Q timeout.nix -A infiniteLoop --timeout 2 2>&1) && status=0 || status=$? + +if [ $status -ne 101 ]; then + echo "error: 'nix-store' exited with '$status'; should have exited 101" + exit 1 +fi + +if echo "$messages" | grepQuietInvert "timed out"; then + echo "error: build may have failed for reasons other than timeout; output:" + echo "$messages" >&2 + exit 1 +fi + +if nix-build -Q timeout.nix -A infiniteLoop --max-build-log-size 100; then + echo "build should have failed" + exit 1 +fi + +if nix-build timeout.nix -A silent --max-silent-time 2; then + echo "build should have failed" + exit 1 +fi + +if nix-build timeout.nix -A closeLog; then + echo "build should have failed" + exit 1 +fi + +if nix build -f timeout.nix silent --max-silent-time 2; then + echo "build should have failed" + exit 1 +fi |