From: Peter Rabbitson Date: Wed, 18 Mar 2015 12:15:45 +0000 (+0100) Subject: (travis) Better handle ENV poisoning, get jobs under 4mb limit again X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class.git;a=commitdiff_plain;h=0ba0c34f5e323beb418833a43914cd80ca5d1bb9 (travis) Better handle ENV poisoning, get jobs under 4mb limit again --- diff --git a/.travis.yml b/.travis.yml index 2064244..f036df1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -161,6 +161,7 @@ matrix: - DBIC_TRACE=1 - POISON_ENV=true - DBIC_TRACE_PROFILE=console_monochrome + - DBICTEST_VIA_REPLICATED=0 ### # Start of the allow_failures block diff --git a/maint/travis-ci_scripts/20_install.bash b/maint/travis-ci_scripts/20_install.bash index c5b9895..7118a0a 100755 --- a/maint/travis-ci_scripts/20_install.bash +++ b/maint/travis-ci_scripts/20_install.bash @@ -82,37 +82,40 @@ run_or_err "Configuring CPAN.pm" "perl -e '$CPAN_CFG_SCRIPT'" # poison the environment if [[ "$POISON_ENV" = "true" ]] ; then - # in addition to making sure tests do not rely on implicid order of - # returned results, look through lib, find all mentioned ENVvars and - # set them to true and see if anything explodes - for var in \ + # look through lib, find all mentioned DBIC* ENVvars and set them to true and see if anything explodes + toggle_booleans=( $(grep -P '\$ENV\{' -r lib/ --exclude-dir Optional | grep -oP '\bDBIC\w+' | sort -u | grep -vP '^(DBIC_TRACE(_PROFILE)?|DBIC_.+_DEBUG)$') ) + + # some extra pollutants + toggle_booleans+=( \ DBICTEST_SQLITE_USE_FILE \ DBICTEST_RUN_ALL_TESTS \ DBICTEST_SQLITE_REVERSE_DEFAULT_ORDER \ - $( grep -P '\$ENV\{' -r lib/ --exclude-dir Optional | grep -oP '\bDBIC\w+' | sort -u | grep -vP '^(DBIC_TRACE(_PROFILE)?|DBIC_.+_DEBUG)$' ) - do - if [[ -z "${!var}" ]] ; then - export $var=1 - echo "POISON_ENV: setting $var to 1" - fi - done - - # bogus nonexisting DBI_* - export DBI_DSN="dbi:ODBC:server=NonexistentServerAddress" - export DBI_DRIVER="ADO" + ) # if we have Moose - try to run everything under replicated # FIXME - when switching to Moo kill this if [[ "$CLEANTEST" != "true" ]] && perl -M5.008003 -e 1 &>/dev/null ; then - export DBICTEST_VIA_REPLICATED=1 + toggle_booleans+=( DBICTEST_VIA_REPLICATED ) fi # some people do in fact set this - boggle!!! # it of course won't work before 5.8.4 if perl -M5.008004 -e 1 &>/dev/null ; then - export PERL_STRICTURES_EXTRA=1 + toggle_booleans+=( PERL_STRICTURES_EXTRA ) fi + for var in "${toggle_booleans[@]}" + do + if [[ -z "${!var}" ]] ; then + export $var=1 + echo "POISON_ENV: setting $var to 1" + fi + done + + # bogus nonexisting DBI_* + export DBI_DSN="dbi:ODBC:server=NonexistentServerAddress" + export DBI_DRIVER="ADO" + # emulate a local::lib-like env # trick cpanm into executing true as shell - we just need the find+unpack run_or_err "Downloading latest stable DBIC from CPAN" \