]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: temporary workaround for #21819 22276/head
authorFrantisek Sumsal <frantisek@sumsal.cz>
Thu, 27 Jan 2022 21:51:15 +0000 (22:51 +0100)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Thu, 27 Jan 2022 21:51:15 +0000 (22:51 +0100)
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.

test/TEST-64-UDEV-STORAGE/test.sh

index 04632952d002b9a7b12363394517439c14587a3c..c360c8b6610f6dd9844ce9eb65857469d6deee1d 100755 (executable)
@@ -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")