nix/tests/timeout.sh
regnat addacfce4a Allow running all the tests with the daemon
When `NIX_DAEMON_PACKAGE` is set, make all the tests use the Nix daemon.
That way we can test every piece of Nix functionality both with and
without the daemon.

Tests for which using the daemon isn’t possible or doesn’t make sens can
selectively be disabled with `needLocalStore`
2021-07-27 17:06:11 +02:00

43 lines
968 B
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Test the `--timeout' option.
source common.sh
# XXX: This shouldnt be, but #4813 cause this test to fail
needLocalStore "see #4813"
set +e
messages=$(nix-build -Q timeout.nix -A infiniteLoop --timeout 2 2>&1)
status=$?
set -e
if [ $status -ne 101 ]; then
echo "error: 'nix-store' exited with '$status'; should have exited 101"
exit 1
fi
if ! echo "$messages" | grep -q "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