aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtestcurl.sh26
1 files changed, 23 insertions, 3 deletions
diff --git a/testcurl.sh b/testcurl.sh
index 79d1b32b3..2bb207382 100755
--- a/testcurl.sh
+++ b/testcurl.sh
@@ -106,10 +106,30 @@ fi
cd curl
echo "testcurl: update from CVS"
-# update quietly to the latest CVS
-cvs -Q up -dP 2>&1
-cvsstat=$?
+cvsup() {
+ # update quietly to the latest CVS
+ echo "testcurl: run cvs up"
+ cvs -Q up -dP 2>&1
+
+ cvsstat=$?
+
+ # return (1 - RETURNVALUE) so that errors return 0 while goodness
+ # returns 1
+ return `expr 1 - $?`
+}
+
+att="0"
+while cvsup; do
+ att=`expr $att + 1`
+ echo "testcurl: failed CVS update attempt number $att."
+ if [ $att -gt 50 ]; then
+ cvsstat="BADNESS"
+ break # get out of the loop
+ fi
+ sleep 5
+done
+
echo "testcurl: cvs returned: $cvsstat"
if [ "$cvsstat" -ne "0" ]; then