Skip to content

Commit 64d48e1

Browse files
committed
(travis) Add a CLEANTEST run of RURBAN's cperl in the spirit of 62f2092
Refer to the (*really* small) patchset for info on how to run the same locally TLDR: you need to activate distroprefs and use CPAN.pm
1 parent 3071c14 commit 64d48e1

File tree

6 files changed

+54
-1
lines changed

6 files changed

+54
-1
lines changed

.travis.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff 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

maint/travis-ci_scripts/20_install.bash

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff 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

maint/travis-ci_scripts/30_before_script.bash

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,19 @@ if [[ "$DEVREL_DEPS" == "true" ]] ; then
1111
export MVDT=""
1212
fi
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)

maint/travis-ci_scripts/common.bash

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ extract_prereqs() {
135135
parallel_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 ; }
328332
CPAN_supports_BUILDPL() { perl -MCPAN\ 1.9205 -e1 &>/dev/null; }
329333

330334
have_sudo() { sudo /bin/true &>/dev/null ; }
335+
336+
is_cperl() { [[ "$BREWVER" =~ $( echo -n "^cperl-" ) ]] ; }

t/lib/ANFANG.pm

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff 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

xt/extra/internals/optional_deps.t

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use Scalar::Util();
1717
use MRO::Compat();
1818
use Carp 'confess';
1919
use List::Util 'shuffle';
20+
use Config;
2021

2122
SKIP: {
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
[],

0 commit comments

Comments
 (0)