Pass tests with CXSA but without SN
Peter Rabbitson [Mon, 12 Nov 2012 10:18:32 +0000 (11:18 +0100)]
Changes
lib/Class/Accessor/Grouped.pm
t/accessors_xs.t
t/accessors_xs_cachedwarn.t

diff --git a/Changes b/Changes
index e6edd25..3068caf 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,7 @@
 Revision history for Class::Accessor::Grouped.
 
+    - Pass tests if Class::XSAccessor is available but Sub::Name isn't
+
 0.10007 2012-11-08 11:54 (UTC)
     - Disable tests on perls where Class::XSAccessor emits broken
       error messages (RT#74883, RT#80519)
index afe019b..d504c3f 100644 (file)
@@ -45,11 +45,11 @@ BEGIN {
   } ? 0 : "$@" );
 
   my $found_cxsa;
-  constant->import( NO_CXSA => ( !NO_SUBNAME() and eval {
+  constant->import( NO_CXSA => ( NO_SUBNAME() || ( eval {
     Module::Runtime::require_module('Class::XSAccessor');
     $found_cxsa = Class::XSAccessor->VERSION;
     Class::XSAccessor->VERSION($__minimum_xsa_version);
-  } ) ? 0 : "$@" );
+  } ? 0 : "$@" ) ) );
 
   if (NO_CXSA() and $found_cxsa and !$ENV{CAG_OLD_XS_NOWARN}) {
     warn(
index c5e0984..ccefd72 100644 (file)
@@ -7,7 +7,11 @@ use Test::More;
 use lib 't/lib';
 
 BEGIN {
+  plan skip_all => "Sub::Name not available"
+    unless eval { require Sub::Name };
+
   require Class::Accessor::Grouped;
+
   my $xsa_ver = $Class::Accessor::Grouped::__minimum_xsa_version;
   eval {
     require Class::XSAccessor;
index 3e3ee1c..42f0ebf 100644 (file)
@@ -4,7 +4,11 @@ use Test::More;
 use lib 't/lib';
 
 BEGIN {
+  plan skip_all => "Sub::Name not available"
+    unless eval { require Sub::Name };
+
   require Class::Accessor::Grouped;
+
   my $xsa_ver = $Class::Accessor::Grouped::__minimum_xsa_version;
   eval {
     require Class::XSAccessor;