summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorнаб <nabijaczleweli@nabijaczleweli.xyz>2022-02-26 20:19:05 +0100
committerGitHub <noreply@github.com>2022-02-26 11:19:05 -0800
commit4f453dcc1f062825ad70343783d0c2d616bae07a (patch)
tree533efe30eadac8825793bddfd7e5ce039b52ef5e
parentf2f6c18f17425b64f9c4a5352085caac769a3601 (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-xscripts/zfs-tests.sh22
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"