Files
prosody-podman/tests/bats/bats-core/test/timeout.bats
T
2026-08-02 15:26:07 +02:00

31 lines
967 B
Bash

load test_helper
fixtures timeout
bats_require_minimum_version 1.5.0
@test "test faster than timeout" {
SECONDS=0
TIMEOUT=10
reentrant_run -0 env BATS_TEST_TIMEOUT=$TIMEOUT SLEEP=1 bats -T "$FIXTURE_ROOT"
[ "${lines[0]}" == '1..1' ]
[[ "${lines[1]}" == 'ok 1 my sleep 1 in '*'ms' ]] || false
[ "${#lines[@]}" -eq 2 ]
# the timeout background process should not hold up execution
((SECONDS < TIMEOUT)) || false
}
@test "test longer than timeout" {
SECONDS=0
reentrant_run ! env BATS_TEST_TIMEOUT=1 SLEEP=10 bats -T "$FIXTURE_ROOT"
[ "${lines[0]}" == '1..1' ]
[[ "${lines[1]}" == 'not ok 1 my sleep 10 in '*'ms # timeout after 1s' ]] || false
[ "${lines[2]}" == "# (in test file $RELATIVE_FIXTURE_ROOT/sleep2.bats, line 2)" ]
[ "${lines[3]}" == "# \`sleep \"\${SLEEP?}\"' failed due to timeout" ]
((SECONDS < 10)) || false
}
# TODO: is this required? it seems to run longer than anticipated
@test "sleep in run" {
run sleep 10
}