2024-05-28 16:43:04 +00:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
2011-06-30 15:19:13 +00:00
|
|
|
|
# Test the `--timeout' option.
|
|
|
|
|
|
|
|
|
|
source common.sh
|
|
|
|
|
|
2021-07-26 04:54:55 +00:00
|
|
|
|
# XXX: This shouldn’t be, but #4813 cause this test to fail
|
|
|
|
|
needLocalStore "see #4813"
|
2019-07-02 15:18:36 +00:00
|
|
|
|
|
2021-12-09 15:26:46 +00:00
|
|
|
|
messages=$(nix-build -Q timeout.nix -A infiniteLoop --timeout 2 2>&1) && status=0 || status=$?
|
2019-07-02 15:18:36 +00:00
|
|
|
|
|
2024-08-01 22:10:08 +00:00
|
|
|
|
if [ "$status" -ne 101 ]; then
|
2019-07-02 15:18:36 +00:00
|
|
|
|
echo "error: 'nix-store' exited with '$status'; should have exited 101"
|
2024-06-16 11:02:04 +00:00
|
|
|
|
|
|
|
|
|
# FIXME: https://github.com/NixOS/nix/issues/4813
|
|
|
|
|
skipTest "Do not block CI until fixed"
|
|
|
|
|
|
2011-06-30 15:19:13 +00:00
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2021-12-09 15:26:46 +00:00
|
|
|
|
if echo "$messages" | grepQuietInvert "timed out"; then
|
2013-09-02 10:44:30 +00:00
|
|
|
|
echo "error: build may have failed for reasons other than timeout; output:"
|
2011-06-30 15:19:13 +00:00
|
|
|
|
echo "$messages" >&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
2013-09-02 10:44:30 +00:00
|
|
|
|
|
2017-11-20 16:50:49 +00:00
|
|
|
|
if nix-build -Q timeout.nix -A infiniteLoop --max-build-log-size 100; then
|
2017-01-19 13:17:57 +00:00
|
|
|
|
echo "build should have failed"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if nix-build timeout.nix -A silent --max-silent-time 2; then
|
2013-09-02 10:44:30 +00:00
|
|
|
|
echo "build should have failed"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
2017-01-19 15:58:39 +00:00
|
|
|
|
|
|
|
|
|
if nix-build timeout.nix -A closeLog; then
|
|
|
|
|
echo "build should have failed"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
2017-04-05 12:34:10 +00:00
|
|
|
|
|
2017-08-31 12:28:25 +00:00
|
|
|
|
if nix build -f timeout.nix silent --max-silent-time 2; then
|
2017-04-05 12:34:10 +00:00
|
|
|
|
echo "build should have failed"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|