(travis) Add 5.8.1 dev-testing to avoid crap like RT#99747
Peter Rabbitson [Wed, 28 Aug 2013 12:01:00 +0000 (14:01 +0200)]
.travis.yml
maint/Makefile.PL.inc/12_authordeps.pl
maint/travis-ci_scripts/30_before_script.bash
t/lib/DBICTest/Util/LeakTracer.pm

index dbdea19..2a0804b 100644 (file)
@@ -165,6 +165,15 @@ matrix:
     ###
     # Start of the allow_failures block
 
+    # threaded oldest possible with blead CPAN with non-tracing poisoning
+    - perl: devcpan_5.8.1_thr_mb
+      env:
+        - CLEANTEST=true
+        - DEVREL_DEPS=true
+        - POISON_ENV=true
+        - BREWVER=5.8.1
+        - BREWOPTS="-Duseithreads -Dusemorebits"
+
     # 5.8.4 threaded with blead CPAN with non-tracing poisoning
     - perl: devcpan_5.8.4_thr
       env:
@@ -211,6 +220,7 @@ matrix:
   allow_failures:
 
     # these run with various dev snapshots - allowed to fail
+    - perl: devcpan_5.8.1_thr_mb
     - perl: devcpan_5.8.4_thr
     - perl: devcpan_5.10.0_thr_mb
     - perl: devcpan_5.12.1_thr
index 3e3caa3..334f186 100644 (file)
@@ -35,8 +35,13 @@ EOW
   my %reqs_for_group = %{DBIx::Class::Optional::Dependencies->req_group_list};
 
   # exclude the rdbms_* groups which are for DBIC users
+  # and the moose-related stuff iff we are under 5.8.3
   $opt_testdeps = {
-    map { %{$reqs_for_group{$_}} } grep { !/^rdbms_|^dist_/ } keys %reqs_for_group
+    map { %{$reqs_for_group{$_}} } grep {
+      !/^rdbms_|^dist_/
+        and
+      ($] > 5.008002 or !/^ (?: test_ )? (?: admin | admin_script | replicated ) $/x )
+    } keys %reqs_for_group
   };
 
   print "Including all optional deps\n";
index 85c8a09..d327da1 100755 (executable)
@@ -96,7 +96,7 @@ else
   parallel_installdeps_notest Test::Exception Encode::Locale Test::Fatal
   parallel_installdeps_notest Test::Warn B::Hooks::EndOfScope Test::Differences HTTP::Status
   parallel_installdeps_notest Test::Pod::Coverage Test::EOL Devel::GlobalDestruction Sub::Name MRO::Compat Class::XSAccessor URI::Escape HTML::Entities
-  parallel_installdeps_notest YAML LWP Class::Trigger JSON::XS DateTime::Format::Builder Class::Accessor::Grouped Package::Variant
+  parallel_installdeps_notest YAML LWP Class::Trigger DateTime::Format::Builder Class::Accessor::Grouped Package::Variant
   parallel_installdeps_notest SQL::Abstract Moose Module::Install JSON SQL::Translator File::Which
 
   # the official version is very much outdated and does not compile on 5.14+
index 613fedf..ad61cd3 100644 (file)
@@ -52,8 +52,12 @@ sub populate_weakregistry {
       stacktrace => stacktrace(1),
       weakref => $target,
     };
-    weaken( $weak_registry->{$refaddr}{weakref} );
-    $refs_traced++;
+
+    # on perl < 5.8.3 sometimes a weaken can throw (can't find RT)
+    # so guard against that unlikely event
+    local $@;
+    eval { weaken( $weak_registry->{$refaddr}{weakref} ); $refs_traced++ }
+      or delete $weak_registry->{$refaddr};
   }
 
   my $desc = refdesc $target;