49 lines
2.0 KiB
Diff
49 lines
2.0 KiB
Diff
|
From d924e5c3014a65e059fd414b90893d320e1784bd Mon Sep 17 00:00:00 2001
|
||
|
From: Frantisek Sumsal <frantisek@sumsal.cz>
|
||
|
Date: Thu, 27 Jan 2022 22:51:15 +0100
|
||
|
Subject: [PATCH] test: temporary workaround for #21819
|
||
|
|
||
|
Since the TEST-64-UDEV-STORAGE fails are quite frequent now and the root
|
||
|
cause is yet to be discovered, let's add a kludge that attempts to retry
|
||
|
the test up to two more times in case it fails, so we don't
|
||
|
unnecessarily disturb CIs while the issue is being investigated.
|
||
|
|
||
|
Revert this commit once #21819 is sorted out.
|
||
|
|
||
|
(cherry picked from commit 95e35511bbdb7810c00c2e4a6cbda5b187192f74)
|
||
|
|
||
|
Related: #2017035
|
||
|
---
|
||
|
test/TEST-64-UDEV-STORAGE/test.sh | 11 ++++++++---
|
||
|
1 file changed, 8 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/test/TEST-64-UDEV-STORAGE/test.sh b/test/TEST-64-UDEV-STORAGE/test.sh
|
||
|
index 0f26eaafeb..f784e65984 100755
|
||
|
--- a/test/TEST-64-UDEV-STORAGE/test.sh
|
||
|
+++ b/test/TEST-64-UDEV-STORAGE/test.sh
|
||
|
@@ -119,7 +119,6 @@ test_run() {
|
||
|
|
||
|
# Execute each currently defined function starting with "testcase_"
|
||
|
for testcase in "${TESTCASES[@]}"; do
|
||
|
- _image_cleanup
|
||
|
echo "------ $testcase: BEGIN ------"
|
||
|
# Note for my future frustrated self: `fun && xxx` (as well as ||, if, while,
|
||
|
# until, etc.) _DISABLES_ the `set -e` behavior in _ALL_ nested function
|
||
|
@@ -130,8 +129,14 @@ test_run() {
|
||
|
# So, be careful when adding clean up snippets in the testcase_*() functions -
|
||
|
# if the `test_run_one()` function isn't the last command, you have propagate
|
||
|
# the exit code correctly (e.g. `test_run_one() || return $?`, see below).
|
||
|
- ec=0
|
||
|
- "$testcase" "$test_id" || ec=$?
|
||
|
+
|
||
|
+ # FIXME: temporary workaround for intermittent fails in certain tests
|
||
|
+ # See: https://github.com/systemd/systemd/issues/21819
|
||
|
+ for ((_i = 0; _i < 3; _i++)); do
|
||
|
+ _image_cleanup
|
||
|
+ ec=0
|
||
|
+ "$testcase" "$test_id" && break || ec=$?
|
||
|
+ done
|
||
|
case $ec in
|
||
|
0)
|
||
|
passed+=("$testcase")
|