Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion test/travis_before_linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,37 @@ if grep ip6-localhost /etc/hosts; then
cat /etc/hosts
fi

# Use a rudimental retry workflow as workaround to svn export hanging
# for minutes or failing randomly. Travis automatically kills a build
# if one step takes more than 10 minutes without reporting any
# progress.
function run_svn_export() {
local url=$1
local revision=$2
local dest_dir=$3
local max_tries=$4

# Disable -e to allow fail/retry
set +e

for i in $(seq 1 $max_tries)
do
timeout 60 svn export -r ${revision} --force -q $url $dest_dir
if [ $? -eq 0 ]; then
break
else
if [ $i -eq $max_tries ]; then
exit 1
else
sleep $((100 * i))
fi
fi
done

# Restore -e behavior after fail/retry
set -e
}

function install_apx() {
local name=$1
local version=$2
Expand Down Expand Up @@ -112,7 +143,7 @@ if ! test -v SKIP_TESTING -o -v NO_TEST_FRAMEWORK; then
# use a checkout of trunk until there is an updated CPAN release
# with that revision.
if test -v TEST_OPENSSL3; then
svn co -q https://svn.apache.org/repos/asf/perl/Apache-Test/trunk test/perl-framework/Apache-Test
run_svn_export https://svn.apache.org/repos/asf/perl/Apache-Test/trunk HEAD test/perl-framework/Apache-Test 5
fi
fi

Expand Down