Fix FreeBSD reporting on reruns
Turns out, when your test-suite fails on FreeBSD the rerun logic
would fail as follows:
Results Summary
PASS 1358
FAIL 7
SKIP 47
Running Time: 04:00:02
Percent passed: 96.2%
Log directory: /var/tmp/test_results/20220225T092538
mktemp: illegal option -- p
usage: mktemp [-d] [-q] [-t prefix] [-u] template ...
mktemp [-d] [-q] [-u] -t prefix
mktemp: illegal option -- p
usage: mktemp [-d] [-q] [-t prefix] [-u] template ...
mktemp [-d] [-q] [-u] -t prefix
/usr/local/share/zfs/zfs-tests.sh: cannot create :
No such file or directory
...
This change resolves a flaw from the original commit, 2320e6eb4
("Add zfs-test facility to automatically rerun failing tests")
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #13156
This commit is contained in:
parent
7bd292e59b
commit
f2eaa97840
|
@ -680,14 +680,16 @@ export __ZFS_POOL_EXCLUDE
|
||||||
export TESTFAIL_CALLBACKS
|
export TESTFAIL_CALLBACKS
|
||||||
export PATH=$STF_PATH
|
export PATH=$STF_PATH
|
||||||
|
|
||||||
|
mktemp_file() {
|
||||||
if [ "$UNAME" = "FreeBSD" ]; then
|
if [ "$UNAME" = "FreeBSD" ]; then
|
||||||
mkdir -p "$FILEDIR" || true
|
mktemp -u "${FILEDIR}/$1.XXXXXX"
|
||||||
RESULTS_FILE=$(mktemp -u "${FILEDIR}/zts-results.XXXXXX")
|
|
||||||
REPORT_FILE=$(mktemp -u "${FILEDIR}/zts-report.XXXXXX")
|
|
||||||
else
|
else
|
||||||
RESULTS_FILE=$(mktemp -u -t zts-results.XXXXXX -p "$FILEDIR")
|
mktemp -ut "$1.XXXXXX" -p "$FILEDIR"
|
||||||
REPORT_FILE=$(mktemp -u -t zts-report.XXXXXX -p "$FILEDIR")
|
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
mkdir -p "$FILEDIR" || :
|
||||||
|
RESULTS_FILE=$(mktemp_file zts-results)
|
||||||
|
REPORT_FILE=$(mktemp_file zts-report)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Run all the tests as specified.
|
# Run all the tests as specified.
|
||||||
|
@ -711,8 +713,8 @@ RESULT=$?
|
||||||
|
|
||||||
if [ "$RESULT" -eq "2" ] && [ -n "$RERUN" ]; then
|
if [ "$RESULT" -eq "2" ] && [ -n "$RERUN" ]; then
|
||||||
MAYBES="$($ZTS_REPORT --list-maybes)"
|
MAYBES="$($ZTS_REPORT --list-maybes)"
|
||||||
TEMP_RESULTS_FILE=$(mktemp -u -t zts-results-tmp.XXXXX -p "$FILEDIR")
|
TEMP_RESULTS_FILE=$(mktemp_file zts-results-tmp)
|
||||||
TEST_LIST=$(mktemp -u -t test-list.XXXXX -p "$FILEDIR")
|
TEST_LIST=$(mktemp_file test-list)
|
||||||
grep "^Test:.*\[FAIL\]" "$RESULTS_FILE" >"$TEMP_RESULTS_FILE"
|
grep "^Test:.*\[FAIL\]" "$RESULTS_FILE" >"$TEMP_RESULTS_FILE"
|
||||||
for test_name in $MAYBES; do
|
for test_name in $MAYBES; do
|
||||||
grep "$test_name " "$TEMP_RESULTS_FILE" >>"$TEST_LIST"
|
grep "$test_name " "$TEMP_RESULTS_FILE" >>"$TEST_LIST"
|
||||||
|
|
Loading…
Reference in New Issue