Blob Blame History Raw
From ae69ae9a28f76729c6f54fb586e33abbad2afd7d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 14 Nov 2016 17:14:30 +0100
Subject: [PATCH] TEST-99-RPM: retry dnf 5 times in case http fails

---
 test/TEST-99-RPM/test.sh | 55 +++++++++++++++++++++++++-----------------------
 1 file changed, 29 insertions(+), 26 deletions(-)

diff --git a/test/TEST-99-RPM/test.sh b/test/TEST-99-RPM/test.sh
index 345d524..a670b55 100755
--- a/test/TEST-99-RPM/test.sh
+++ b/test/TEST-99-RPM/test.sh
@@ -18,8 +18,8 @@ test_run() {
     mkdir -p "$rootdir/dev"
     mkdir -p "$rootdir/boot"
 
-trap 'ret=$?; [[ -d $rootdir ]] && { umount "$rootdir/proc"; umount "$rootdir/sys"; umount "$rootdir/dev"; rm -rf -- "$rootdir"; } || :; exit $ret;' EXIT
-trap '[[ -d $rootdir ]] && { umount "$rootdir/proc"; umount "$rootdir/sys"; umount "$rootdir/dev"; rm -rf -- "$rootdir"; } || :; exit 1;' SIGINT
+    trap 'ret=$?; [[ -d $rootdir ]] && { umount "$rootdir/proc"; umount "$rootdir/sys"; umount "$rootdir/dev"; rm -rf -- "$rootdir"; } || :; exit $ret;' EXIT
+    trap '[[ -d $rootdir ]] && { umount "$rootdir/proc"; umount "$rootdir/sys"; umount "$rootdir/dev"; rm -rf -- "$rootdir"; } || :; exit 1;' SIGINT
 
     mount --bind /proc "$rootdir/proc"
     mount --bind /sys "$rootdir/sys"
@@ -34,27 +34,30 @@ trap '[[ -d $rootdir ]] && { umount "$rootdir/proc"; umount "$rootdir/sys"; umou
     dnf_or_yum=yum
     dnf_or_yum_cmd=yum
     command -v dnf >/dev/null && { dnf_or_yum="dnf"; dnf_or_yum_cmd="dnf --allowerasing"; }
-    $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --releasever 25 --disablerepo='*' \
-                --enablerepo=fedora --enablerepo=updates \
-                install -y \
-	$dnf_or_yum \
-	passwd \
-	rootfiles \
-	systemd \
-    systemd-udev \
-	kernel \
-	kernel-core \
-	redhat-release \
-	device-mapper-multipath \
-	lvm2 \
-	mdadm \
-    bash \
-    iscsi-initiator-utils \
-    "$TESTDIR"/dracut-[0-9]*.$(arch).rpm \
-    ${NULL}
-    #"$TESTDIR"/dracut-config-rescue-[0-9]*.$(arch).rpm \
-    #"$TESTDIR"/dracut-network-[0-9]*.$(arch).rpm \
-#    ${NULL}
+    for (( i=0; i < 5 ; i++)); do
+        $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --releasever 25 --disablerepo='*' \
+                        --enablerepo=fedora --enablerepo=updates \
+                        install -y \
+                        $dnf_or_yum \
+                        passwd \
+                        rootfiles \
+                        systemd \
+                        systemd-udev \
+                        kernel \
+                        kernel-core \
+                        redhat-release \
+                        device-mapper-multipath \
+                        lvm2 \
+                        mdadm \
+                        bash \
+                        iscsi-initiator-utils \
+                        "$TESTDIR"/dracut-[0-9]*.$(arch).rpm \
+                        ${NULL} || continue
+        #"$TESTDIR"/dracut-config-rescue-[0-9]*.$(arch).rpm \
+            #"$TESTDIR"/dracut-network-[0-9]*.$(arch).rpm \
+            #    ${NULL}
+    done
+    (( i < 5 ))
 
     cat >"$rootdir"/test.sh <<EOF
 #!/bin/bash
@@ -87,9 +90,9 @@ EOF
     chroot "$rootdir" /test.sh || :
 
     if [[ -s "$rootdir"/test.output ]]; then
-	failed=1
-	echo TEST Failed >&2
-	cat "$rootdir"/test.output >&2
+        failed=1
+        echo TEST Failed >&2
+        cat "$rootdir"/test.output >&2
     fi
 
     umount "$rootdir/proc"