From ae69ae9a28f76729c6f54fb586e33abbad2afd7d Mon Sep 17 00:00:00 2001 From: Harald Hoyer 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 <&2 - cat "$rootdir"/test.output >&2 + failed=1 + echo TEST Failed >&2 + cat "$rootdir"/test.output >&2 fi umount "$rootdir/proc"