- DBICTEST_VIA_REPLICATED=0
- DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1
+ # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO CPERL BELOW
+ # allows for easier side-by-side comparison
- perl: "5.22.1_thr_qm"
# explicit new infra spec preparing for a future forced upgrade
# also need to pull in a sufficiently new compiler for quadmath.h
###
# Start of the allow_failures block
+ # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO STOCK 5.22.1 ABOVE
+ # allows for easier side-by-side comparison
+ - perl: "cperl-5.22.1_thr_qm"
+ # explicit new infra spec preparing for a future forced upgrade
+ # also need to pull in a sufficiently new compiler for quadmath.h
+ sudo: required
+ dist: trusty
+ env:
+ # FIXME - work around https://github.com/perl11/cperl/issues/131
+ - VCPU_USE=1
+ - CLEANTEST=true
+ - POISON_ENV=true
+ - MVDT=false
+ - BREWVER=cperl-5.22.1
+ - BREWOPTS="-Duseithreads -Dusequadmath"
+
# threaded oldest possible with blead CPAN
- perl: "devcpan_5.8.1_thr_mb"
sudo: false
allow_failures:
# these run with various dev snapshots - allowed to fail
+ - perl: cperl-5.22.1_thr_qm
- perl: devcpan_5.8.1_thr_mb
- perl: devcpan_5.8.1
- perl: devcpan_5.8.3_mb
BREWSRC="$BREWVER"
- if [[ "$BREWVER" == "schmorp_stableperl" ]] ; then
+ if is_cperl; then
+ # FFS perlbrew ( see http://wollmers-perl.blogspot.de/2015/10/install-cperl-with-perlbrew.html )
+ wget -qO- https://github.com/perl11/cperl/archive/$BREWVER.tar.gz > /tmp/cperl-$BREWVER.tar.gz
+ BREWSRC="/tmp/cperl-$BREWVER.tar.gz"
+ elif [[ "$BREWVER" == "schmorp_stableperl" ]] ; then
BREWSRC="http://stableperl.schmorp.de/dist/stableperl-5.22.0-1.001.tar.gz"
fi
export MVDT=""
fi
+# Need a shitton of patches to run on cperl (luckily all provided)
+# Also need to have YAML in place, otherwise the distroprefs are not readable
+if is_cperl ; then
+
+ run_or_err "Downloading and installing cperl distroprefs" '
+ wget -qO- https://github.com/rurban/distroprefs/archive/master.tar.gz |\
+ tar -C $HOME/.cpan --strip-components 1 -zx distroprefs-master/prefs distroprefs-master/sources
+ '
+
+ installdeps YAML
+
+fi
+
# FIXME - this is a kludge in place of proper MDV testing. For the time
# being simply use the minimum versions of our DBI/DBDstack, to avoid
# fuckups like 0.08260 (went unnoticed for 5 months)
parallel_installdeps_notest() {
if [[ -z "$@" ]] ; then return; fi
+ is_cperl && echo_err "cpanminus is not yet usable on cperl" && exit 1
+
# one module spec per line
MODLIST="$(printf '%s\n' "$@" | sort -R)"
_dep_inst_with_test() {
if [[ "$DEVREL_DEPS" == "true" ]] ; then
+ is_cperl && echo_err "cpanminus is not yet usable on cperl" && exit 1
+
# --dev is already part of CPANM_OPT
LASTCMD="$TIMEOUT_CMD cpanm $@"
$LASTCMD 2>&1 || return 1
CPAN_supports_BUILDPL() { perl -MCPAN\ 1.9205 -e1 &>/dev/null; }
have_sudo() { sudo /bin/true &>/dev/null ; }
+
+is_cperl() { [[ "$BREWVER" =~ $( echo -n "^cperl-" ) ]] ; }
and
+ # a ghetto way of recognizing cperl without loading Config.pm
+ # the $] guard is there because touching $^V on pre-5.10 loads
+ # the entire utf8 stack (wtf!!!)
+ ( "$]" < 5.010 or $^V !~ /\d+c$/ )
+
+ and
+
# just don't check anything under RELEASE_TESTING
# a naive approach would be to simply whitelist both
# strict and warnings, but pre 5.10 there were even
use MRO::Compat();
use Carp 'confess';
use List::Util 'shuffle';
+use Config;
SKIP: {
skip 'Lean load pattern testing unsafe with $ENV{PERL5OPT}', 1
skip 'Lean load pattern testing useless with $ENV{RELEASE_TESTING}', 1
if $ENV{RELEASE_TESTING};
+ skip 'Lean load pattern testing useless under cperl', 1
+ if $Config{usecperl};
+
is_deeply
$inc_before,
[],