###
# Start of the allow_failures block
+ # 5.10.0 threaded with blead CPAN
+ - perl: devcpan_5.10.0_thr_mb
+ env:
+ - CLEANTEST=true
+ - BREWOPTS="-Duseithreads -Dusemorebits"
+ - BREWVER=5.10.0
+ - DEVREL_DEPS=true
+
+ # minimum threaded with blead CPAN
+ - perl: devcpan_5.8.5_thr
+ env:
+ - CLEANTEST=true
+ - BREWOPTS="-Duseithreads"
+ - BREWVER=5.8.5
+ - DEVREL_DEPS=true
+
# recentish stable with blead CPAN
- perl: devcpan_5.18.1_thr_mb
env:
# which ones of the above can fail
allow_failures:
# these run with various dev snapshots - allowed to fail
+ - perl: devcpan_5.10.0_thr_mb
+ - perl: devcpan_5.8.5_thr
- perl: devcpan_5.18.1_thr_mb
- perl: bleadperl_thr_mb
- perl: devcpan_bleadperl_thr_mb
# try CPAN's latest offering if requested
if [[ "$DEVREL_DEPS" == "true" ]] ; then
- if [[ "$CLEANTEST" == "true" ]] ; then
- echo_err "DEVREL_DEPS combined with CLEANTEST makes no sense - it is only possible with cpanm"
- exit 1
- fi
-
PERL_CPANM_OPT="$PERL_CPANM_OPT --dev"
# FIXME inline-upgrade cpanm, work around https://github.com/travis-ci/travis-ci/issues/1477
# without pre-installign these in one pass things like extract_prereqs won't work
CPAN_is_sane || installdeps ExtUtils::MakeMaker ExtUtils::CBuilder Module::Build
+ # FIXME - need new TB1.5 devrel
+ # if we run under --dev install latest github of TB1.5 first
+ # (unreleased workaround for precedence warnings)
+ if [[ "$DEVREL_DEPS" == "true" ]] ; then
+ installdeps git://github.com/nthykier/test-more.git@fix-return-precedence-issue
+ fi
+
else
# we will be running all dbic tests - preinstall lots of stuff, run basic tests
# using SQLT and set up whatever databases necessary
export DBICTEST_SQLT_DEPLOY=1
+ # FIXME - need new TB1.5 devrel
# if we run under --dev install latest github of TB1.5 first
# (unreleased workaround for precedence warnings)
if [[ "$DEVREL_DEPS" == "true" ]] ; then
# we may need to prepend some stuff to that list
HARD_DEPS="$(echo $(make listdeps))"
-##### TEMPORARY WORKAROUNDS
- if ! CPAN_is_sane ; then
+##### TEMPORARY WORKAROUNDS needed in case we will be using CPAN.pm
+ if [[ "$DEVREL_DEPS" != "true" ]] && ! CPAN_is_sane ; then
# combat dzillirium on harness-wide level, otherwise breakage happens weekly
echo_err "$(tstamp) Ancient CPAN.pm: engaging TAP::Harness::IgnoreNonessentialDzilAutogeneratedTests during dep install"
perl -MTAP::Harness=3.18 -e1 &>/dev/null || run_or_err "Upgrading TAP::Harness for HARNESS_SUBCLASS support" "cpan TAP::Harness"
"echo \\
\"$MODLIST\" \\
| xargs -d '\\n' -n 1 -P $NUMTHREADS bash -c \\
- 'OUT=\$($TIMEOUT_CMD cpanm --notest --no-man-pages \"\$@\" 2>&1 ) || (LASTEXIT=\$?; echo \"\$OUT\"; exit \$LASTEXIT)' \\
+ 'OUT=\$($TIMEOUT_CMD cpanm --notest \"\$@\" 2>&1 ) || (LASTEXIT=\$?; echo \"\$OUT\"; exit \$LASTEXIT)' \\
'giant space monkey penises'
"
}
LASTEXIT=0
START_TIME=$SECONDS
- LASTOUT=$( cpan_inst "$@" ) || LASTEXIT=$?
+ LASTOUT=$( _dep_inst_with_test "$@" ) || LASTEXIT=$?
DELTA_TIME=$(( $SECONDS - $START_TIME ))
if [[ "$LASTEXIT" = "0" ]] ; then
echo_err "done (took ${DELTA_TIME}s)"
else
- local errlog="after ${DELTA_TIME}s Exit:$LASTEXIT Log:$(/usr/bin/nopaste -q -s Shadowcat -d "Parallel installfail" <<< "$LASTOUT")"
+ local errlog="after ${DELTA_TIME}s Exit:$LASTEXIT Log:$(/usr/bin/nopaste -q -s Shadowcat -d "Parallel testfail" <<< "$LASTOUT")"
echo_err -n "failed ($errlog) retrying with sequential testing ... "
POSTMORTEM="$POSTMORTEM$(
echo
HARNESS_OPTIONS=""
LASTEXIT=0
START_TIME=$SECONDS
- LASTOUT=$( cpan_inst "$@" ) || LASTEXIT=$?
+ LASTOUT=$( _dep_inst_with_test "$@" ) || LASTEXIT=$?
DELTA_TIME=$(( $SECONDS - $START_TIME ))
if [[ "$LASTEXIT" = "0" ]] ; then
INSTALLDEPS_OUT="${INSTALLDEPS_OUT}${LASTOUT}"
}
-cpan_inst() {
- $TIMEOUT_CMD cpan "$@" 2>&1
+_dep_inst_with_test() {
+ if [[ "$DEVREL_DEPS" == "true" ]] ; then
+ # --dev is already part of CPANM_OPT
+ $TIMEOUT_CMD cpanm "$@" 2>&1
+ else
+ $TIMEOUT_CMD cpan "$@" 2>&1
- # older perls do not have a CPAN which can exit with error on failed install
- for m in "$@"; do
- if ! perl -e '
+ # older perls do not have a CPAN which can exit with error on failed install
+ for m in "$@"; do
+ if ! perl -e '
eval ( q{require } . (
$ARGV[0] =~ m{ \/ .*? ([^\/]+) $ }x
? do { my @p = split (/\-/, $1); pop @p; join "::", @p }
: $ARGV[0]
-) ) or ( print $@ and exit 1)' "$m" 2> /dev/null ; then
+) ) or ( print $@ and exit 1)
- echo -e "$m installation seems to have failed"
- return 1
- fi
- done
+ ' "$m" 2> /dev/null ; then
+ echo -e "$m installation seems to have failed"
+ return 1
+ fi
+ done
+ fi
}
CPAN_is_sane() { perl -MCPAN\ 1.94_56 -e 1 &>/dev/null ; }