Files
httrack/tests/01_engine-structcheck.test
Xavier Roche 2fccb17058 Teardown must not decide a test's verdict
Under set -e a failing command in an EXIT trap becomes the script's exit
status, so a cleanup hiccup fails a test whose assertions all passed. Run
teardown with errexit off, on EXIT only: sharing set +e with the signal
traps would leave errexit off for the rest of a signalled run, where a
torn-down test could still report success. A failing teardown command
still prints its own diagnostic, so nothing is silenced.

The return 0 that three cleanup() bodies ended with never protected
anything: errexit fires at the failing command before it is reached.

Closes #773

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Xavier Roche <xroche@gmail.com>
2026-07-27 10:39:24 +02:00

13 lines
303 B
Bash

#!/bin/bash
#
# structcheck(): the path-length guard, and the <name>.txt rename that once
# built its target with an unbounded sprintf (#745).
set -euo pipefail
dir=$(mktemp -d)
trap 'set +e; rm -rf "$dir"' EXIT
httrack -O /dev/null -#test=structcheck "$dir" |
grep -q "structcheck self-test OK"