Fix braindead ro/wo accessor breakage when CXSA is available
[p5sagit/Class-Accessor-Grouped.git] / t / accessors_xs.t
index 672dafd..393f916 100644 (file)
@@ -5,9 +5,21 @@ use File::Spec::Functions;
 use Test::More;
 use lib 't/lib';
 
-use AccessorGroups ();
-plan skip_all => 'Class::XSAccessor not available'
-    unless Class::Accessor::Grouped::_hasXS();
+BEGIN {
+    require Class::Accessor::Grouped;
+    my $xsa_ver = $Class::Accessor::Grouped::__minimum_xsa_version;
+    eval {
+        require Class::XSAccessor;
+        Class::XSAccessor->VERSION ($xsa_ver);
+    };
+    plan skip_all => "Class::XSAccessor >= $xsa_ver not available"
+      if $@;
+}
 
-require( catfile($Bin, 'accessors.t') );
+# rerun all 3 tests under XSAccessor
+$Class::Accessor::Grouped::USE_XS = 1;
+for (qw/accessors.t accessors_ro.t accessors_wo.t/) {
+  subtest "$_ with USE_XS" => sub { require( catfile($Bin, $_) ) }
+}
+
+done_testing;