* Misc
- Add explicit test for pathological example of asymmetric IC::DT setup
working with copy() in t/icdt/engine_specific/sybase.t (GH#84)
+ - Fix t/54taint.t failing on local::lib's with upgraded Carp on 5.8.*
- Fix invalid variable names in ResultSource::View examples
- Typo fixes from downstream debian packagers (RT#112007)
- Skip tests in a way more intelligent and speedy manner when optional
purge_sitelib
fi
+if [[ "$POISON_ENV" = "true" ]] ; then
+ # create a perlbrew-specific local lib
+ perlbrew lib create travis-local
+ perlbrew use "$( perlbrew use | grep -oP '(?<=Currently using ).+' )@travis-local"
+ echo_err "POISON_ENV active - adding a local lib: $(perlbrew use)"
+fi
+
# configure CPAN.pm - older versions go into an endless loop
# when trying to autoconf themselves
CPAN_CFG_SCRIPT="
# the fulltest may re-upgrade DBI, be conservative only on cleantests
# earlier DBI will not compile without PERL_POLLUTE which was gone in 5.14
parallel_installdeps_notest T/TI/TIMB/DBI-1.614.tar.gz
+
+ # FIXME work around DBD::DB2 being silly: https://rt.cpan.org/Ticket/Display.html?id=101659
+ if [[ -n "$DBICTEST_DB2_DSN" ]] ; then
+ echo_err "Installing same DBI version into the main perl (above the current local::lib)"
+ $SHELL -lic "perlbrew use $( perlbrew use | grep -oP '(?<=Currently using )[^@]+' ) && parallel_installdeps_notest T/TI/TIMB/DBI-1.614.tar.gz"
+ fi
else
parallel_installdeps_notest T/TI/TIMB/DBI-1.57.tar.gz
+
+ # FIXME work around DBD::DB2 being silly: https://rt.cpan.org/Ticket/Display.html?id=101659
+ if [[ -n "$DBICTEST_DB2_DSN" ]] ; then
+ echo_err "Installing same DBI version into the main perl (above the current local::lib)"
+ $SHELL -lic "perlbrew use $( perlbrew use | grep -oP '(?<=Currently using )[^@]+' ) && parallel_installdeps_notest T/TI/TIMB/DBI-1.57.tar.gz"
+ fi
fi
# Test both minimum DBD::SQLite and minimum BigInt SQLite
-# keep stricture tests happy
-use strict;
-use warnings;
+package DBICTest::WithTaint;
+
1;
return if m{^(?:
maint/Makefile.PL.inc/.+ # all the maint inc snippets are auto-strictured
|
+ t/lib/DBICTest/WithTaint.pm # no stictures by design (trips up local::lib on older perls)
+ |
t/lib/DBICTest/Util/OverrideRequire.pm # no stictures by design (load order sensitive)
|
t/lib/ANFANG.pm # no stictures by design (load speed sensitive)
BEGIN { $ENV{DBICTEST_ANFANG_DEFANG} = 1 }
+# When in taint mode, PERL5LIB is ignored (but *not* unset)
+# Put it back in INC so that local-lib users can actually
+# run this test. Use lib.pm instead of an @INC unshift as
+# it will correctly add any arch subdirs encountered
+#
+# Yes, this is a lazy solution: adding -I args in the exec below is the
+# more sensible approach, but no time to properly do it at present
+use Config;
+use lib (
+ grep { length }
+ map { split /\Q$Config{path_sep}\E/, (/^(.*)$/)[0] } # untainting regex
+ grep { defined }
+ @ENV{qw(PERL5LIB PERLLIB)} # precedence preserved by lib
+);
+
use strict;
use warnings;
-use Config;
# there is talk of possible perl compilations where -T is fatal or just
# doesn't work. We don't want to have the user deal with that.
exec( $perl, qw( -I. -Mt::lib::DBICTest::WithTaint -T ), __FILE__ );
}}
-# When in taint mode, PERL5LIB is ignored (but *not* unset)
-# Put it back in INC so that local-lib users can actually
-# run this test. Use lib.pm instead of an @INC unshift as
-# it will correctly add any arch subdirs encountered
-
-use lib (
- grep { length }
- map { split /\Q$Config{path_sep}\E/, (/^(.*)$/)[0] } # untainting regex
- grep { defined }
- @ENV{qw(PERL5LIB PERLLIB)} # precedence preserved by lib
-);
-
# We need to specify 'lib' here as well because even if it was already in
# @INC, the above will have put our local::lib in front of it, so now an
# installed DBIx::Class will take precedence over the one we're trying to test.