Stop running on smokers with a screwed up Package::Stash
Peter Rabbitson [Tue, 28 Dec 2010 17:03:56 +0000 (18:03 +0100)]
Changes
Makefile.PL

diff --git a/Changes b/Changes
index d6500b3..8d30b87 100644 (file)
--- a/Changes
+++ b/Changes
@@ -5,6 +5,7 @@ Revision history for DBIx::Class
         - Promote forgotten Hash::Merge optdep to a hard requirement
         - Skip t/storage/error.t on smokers with leaking perls
         - Fix t/storage/txn.t deadlocks on slower machines
+        - Do not run on smokers if a trial Package::Stash is found
 
 0.08125 2010-12-27 04:30 (UTC)
     * New Features / Changes
index 9a6fd20..73cbceb 100644 (file)
@@ -164,6 +164,22 @@ warn $optdep_msg if $Module::Install::AUTHOR;
 auto_install();
 warn $optdep_msg if $Module::Install::AUTHOR;
 
+# if this is a smoker, and some known-to-be-trouble reqs are already present
+# (are not missing reqs) - we can exit 1 now so that we register an N/A report
+# instead of a FAIL
+if ($ENV{AUTOMATED_TESTING} && ! $ENV{PERL5_CPANM_IS_RUNNING} && ! $ENV{RELEASE_TESTING}) {
+
+  eval {
+    require Package::Stash;
+    my $psv = Package::Stash->VERSION;
+    if ($psv != 0.13 and $psv >= 0.09 and $psv <= 0.15) {
+      warn "A trial version $psv of Package::Stash detected (known to break namespace::clean). "
+          ."Aborting useless smoke test\n";
+      exit 1;
+    }
+  };
+}
+
 # re-create various autogenerated documentation bits
 if ($Module::Install::AUTHOR) {