File tree Expand file tree Collapse file tree 6 files changed +54
-1
lines changed Expand file tree Collapse file tree 6 files changed +54
-1
lines changed Original file line number Diff line number Diff line change @@ -204,6 +204,8 @@ matrix:
204204 - DBICTEST_VIA_REPLICATED=0
205205 - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1
206206
207+ # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO CPERL BELOW
208+ # allows for easier side-by-side comparison
207209 - perl : " 5.22.1_thr_qm"
208210 # explicit new infra spec preparing for a future forced upgrade
209211 # also need to pull in a sufficiently new compiler for quadmath.h
@@ -220,6 +222,22 @@ matrix:
220222 # ##
221223 # Start of the allow_failures block
222224
225+ # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO STOCK 5.22.1 ABOVE
226+ # allows for easier side-by-side comparison
227+ - perl : " cperl-5.22.1_thr_qm"
228+ # explicit new infra spec preparing for a future forced upgrade
229+ # also need to pull in a sufficiently new compiler for quadmath.h
230+ sudo : required
231+ dist : trusty
232+ env :
233+ # FIXME - work around https://github.com/perl11/cperl/issues/131
234+ - VCPU_USE=1
235+ - CLEANTEST=true
236+ - POISON_ENV=true
237+ - MVDT=false
238+ - BREWVER=cperl-5.22.1
239+ - BREWOPTS="-Duseithreads -Dusequadmath"
240+
223241 # threaded oldest possible with blead CPAN
224242 - perl : " devcpan_5.8.1_thr_mb"
225243 sudo : false
@@ -330,6 +348,7 @@ matrix:
330348 allow_failures :
331349
332350 # these run with various dev snapshots - allowed to fail
351+ - perl : cperl-5.22.1_thr_qm
333352 - perl : devcpan_5.8.1_thr_mb
334353 - perl : devcpan_5.8.1
335354 - perl : devcpan_5.8.3_mb
Original file line number Diff line number Diff line change @@ -31,7 +31,11 @@ if [[ -n "$BREWVER" ]] ; then
3131
3232 BREWSRC=" $BREWVER "
3333
34- if [[ " $BREWVER " == " schmorp_stableperl" ]] ; then
34+ if is_cperl; then
35+ # FFS perlbrew ( see http://wollmers-perl.blogspot.de/2015/10/install-cperl-with-perlbrew.html )
36+ wget -qO- https://github.com/perl11/cperl/archive/$BREWVER .tar.gz > /tmp/cperl-$BREWVER .tar.gz
37+ BREWSRC=" /tmp/cperl-$BREWVER .tar.gz"
38+ elif [[ " $BREWVER " == " schmorp_stableperl" ]] ; then
3539 BREWSRC=" http://stableperl.schmorp.de/dist/stableperl-5.22.0-1.001.tar.gz"
3640 fi
3741
Original file line number Diff line number Diff line change @@ -11,6 +11,19 @@ if [[ "$DEVREL_DEPS" == "true" ]] ; then
1111 export MVDT=" "
1212fi
1313
14+ # Need a shitton of patches to run on cperl (luckily all provided)
15+ # Also need to have YAML in place, otherwise the distroprefs are not readable
16+ if is_cperl ; then
17+
18+ run_or_err " Downloading and installing cperl distroprefs" '
19+ wget -qO- https://github.com/rurban/distroprefs/archive/master.tar.gz |\
20+ tar -C $HOME/.cpan --strip-components 1 -zx distroprefs-master/prefs distroprefs-master/sources
21+ '
22+
23+ installdeps YAML
24+
25+ fi
26+
1427# FIXME - this is a kludge in place of proper MDV testing. For the time
1528# being simply use the minimum versions of our DBI/DBDstack, to avoid
1629# fuckups like 0.08260 (went unnoticed for 5 months)
Original file line number Diff line number Diff line change @@ -135,6 +135,8 @@ extract_prereqs() {
135135parallel_installdeps_notest () {
136136 if [[ -z " $@ " ]] ; then return ; fi
137137
138+ is_cperl && echo_err " cpanminus is not yet usable on cperl" && exit 1
139+
138140 # one module spec per line
139141 MODLIST=" $( printf ' %s\n' " $@ " | sort -R) "
140142
@@ -194,6 +196,8 @@ installdeps() {
194196
195197_dep_inst_with_test () {
196198 if [[ " $DEVREL_DEPS " == " true" ]] ; then
199+ is_cperl && echo_err " cpanminus is not yet usable on cperl" && exit 1
200+
197201 # --dev is already part of CPANM_OPT
198202 LASTCMD=" $TIMEOUT_CMD cpanm $@ "
199203 $LASTCMD 2>&1 || return 1
@@ -328,3 +332,5 @@ CPAN_is_sane() { perl -MCPAN\ 1.94_56 -e 1 &>/dev/null ; }
328332CPAN_supports_BUILDPL () { perl -MCPAN\ 1.9205 -e1 & > /dev/null; }
329333
330334have_sudo () { sudo /bin/true & > /dev/null ; }
335+
336+ is_cperl () { [[ " $BREWVER " =~ $( echo -n " ^cperl-" ) ]] ; }
Original file line number Diff line number Diff line change @@ -46,6 +46,13 @@ $INC{$_} ||= __FILE__ for (qw( ANFANG.pm t/lib/ANFANG.pm ./t/lib/ANFANG.pm ));
4646
4747 and
4848
49+ # a ghetto way of recognizing cperl without loading Config.pm
50+ # the $] guard is there because touching $^V on pre-5.10 loads
51+ # the entire utf8 stack (wtf!!!)
52+ ( " $] " < 5.010 or $^V !~ / \d +c$ / )
53+
54+ and
55+
4956 # just don't check anything under RELEASE_TESTING
5057 # a naive approach would be to simply whitelist both
5158 # strict and warnings, but pre 5.10 there were even
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ use Scalar::Util();
1717use MRO::Compat();
1818use Carp ' confess' ;
1919use List::Util ' shuffle' ;
20+ use Config;
2021
2122SKIP: {
2223 skip ' Lean load pattern testing unsafe with $ENV{PERL5OPT}' , 1
@@ -28,6 +29,9 @@ SKIP: {
2829 skip ' Lean load pattern testing useless with $ENV{RELEASE_TESTING}' , 1
2930 if $ENV {RELEASE_TESTING };
3031
32+ skip ' Lean load pattern testing useless under cperl' , 1
33+ if $Config {usecperl };
34+
3135 is_deeply
3236 $inc_before ,
3337 [],
You can’t perform that action at this time.
0 commit comments