diff options
author | наб <nabijaczleweli@nabijaczleweli.xyz> | 2022-02-26 20:19:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-26 11:19:05 -0800 |
commit | 4f453dcc1f062825ad70343783d0c2d616bae07a (patch) | |
tree | 533efe30eadac8825793bddfd7e5ce039b52ef5e | |
parent | f2f6c18f17425b64f9c4a5352085caac769a3601 (diff) |
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
-rwxr-xr-x | scripts/zfs-tests.sh | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/scripts/zfs-tests.sh b/scripts/zfs-tests.sh index 421eb67d2..2477d0f91 100755 --- a/scripts/zfs-tests.sh +++ b/scripts/zfs-tests.sh @@ -688,14 +688,16 @@ export __ZFS_POOL_EXCLUDE export TESTFAIL_CALLBACKS export PATH=$STF_PATH -if [ "$UNAME" = "FreeBSD" ] ; then - mkdir -p "$FILEDIR" || true - RESULTS_FILE=$(mktemp -u "${FILEDIR}/zts-results.XXXXXX") - REPORT_FILE=$(mktemp -u "${FILEDIR}/zts-report.XXXXXX") -else - RESULTS_FILE=$(mktemp -u -t zts-results.XXXXXX -p "$FILEDIR") - REPORT_FILE=$(mktemp -u -t zts-report.XXXXXX -p "$FILEDIR") -fi +mktemp_file() { + if [ "$UNAME" = "FreeBSD" ]; then + mktemp -u "${FILEDIR}/$1.XXXXXX" + else + mktemp -ut "$1.XXXXXX" -p "$FILEDIR" + fi +} +mkdir -p "$FILEDIR" || : +RESULTS_FILE=$(mktemp_file zts-results) +REPORT_FILE=$(mktemp_file zts-report) # # Run all the tests as specified. @@ -725,8 +727,8 @@ RESULT=$? if [ "$RESULT" -eq "2" ] && [ -n "$RERUN" ]; then MAYBES="$($ZTS_REPORT --list-maybes)" - TEMP_RESULTS_FILE=$(mktemp -u -t zts-results-tmp.XXXXX -p "$FILEDIR") - TEST_LIST=$(mktemp -u -t test-list.XXXXX -p "$FILEDIR") + TEMP_RESULTS_FILE=$(mktemp_file zts-results-tmp) + TEST_LIST=$(mktemp_file test-list) grep "^Test:.*\[FAIL\]" "$RESULTS_FILE" >"$TEMP_RESULTS_FILE" for test_name in $MAYBES; do grep "$test_name " "$TEMP_RESULTS_FILE" >>"$TEST_LIST" |