(travis) Reorganize POISON_ENV mode
[dbsrgits/DBIx-Class.git] / maint / travis-ci_scripts / 20_install.bash
index 2d6fbf2..490ceb7 100755 (executable)
@@ -86,6 +86,17 @@ fi
 # poison the environment
 if [[ "$POISON_ENV" = "true" ]] ; then
 
+  toggle_vars=( MVDT )
+
+  [[ "$CLEANTEST" == "true" ]] && toggle_vars+=( BREAK_CC )
+
+  for var in "${toggle_vars[@]}"  ; do
+    if [[ -z "${!var}" ]] ; then
+      export $var=true
+      echo "POISON_ENV: setting $var to 'true'"
+    fi
+  done
+
   # look through lib, find all mentioned DBIC* ENVvars and set them to true and see if anything explodes
   toggle_booleans=( $( grep -ohP '\bDBIC_[0-9_A-Z]+' -r lib/ --exclude-dir Optional | sort -u | grep -vP '^(DBIC_TRACE(_PROFILE)?|DBIC_.+_DEBUG)$' ) )
 
@@ -111,12 +122,16 @@ if [[ "$POISON_ENV" = "true" ]] ; then
     fi
   done
 
-  # emulate a local::lib-like env
+
+### 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" \
     "SHELL=/bin/true cpanm --look DBIx::Class"
 
-  export PERL5LIB="$( ls -d ~/.cpanm/latest-build/DBIx-Class-*/lib | tail -n1 ):$PERL5LIB"
+  # move it somewhere as following cpanm will clobber it
+  run_or_err "Moving latest stable DBIC from CPAN to /tmp" "mv ~/.cpanm/latest-build/DBIx-Class-*/lib /tmp/stable_dbic_lib"
+
+  export PERL5LIB="/tmp/stable_dbic_lib:$PERL5LIB"
 
   # perldoc -l <mod> searches $(pwd)/lib in addition to PERL5LIB etc, hence the cd /
   echo_err "Latest stable DBIC (without deps) locatable via \$PERL5LIB at $(cd / && perldoc -l DBIx::Class)"