summaryrefslogtreecommitdiffstats
path: root/t/impl-selection/env.t
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-08-05 13:08:04 -0500
committerJesse Luehrs <doy@tozt.net>2011-08-05 13:08:04 -0500
commitadda4f43e39cff45cf4d443dd93216644fca3afa (patch)
treee05964d374b3a5a4e363f595f443eb46a058fe44 /t/impl-selection/env.t
parentc3986e8ee5e47ef7e10896d991b53a3836591ef6 (diff)
downloadpackage-stash-adda4f43e39cff45cf4d443dd93216644fca3afa.tar.gz
package-stash-adda4f43e39cff45cf4d443dd93216644fca3afa.zip
remove test numbers
Diffstat (limited to 't/impl-selection/env.t')
-rw-r--r--t/impl-selection/env.t29
1 files changed, 29 insertions, 0 deletions
diff --git a/t/impl-selection/env.t b/t/impl-selection/env.t
new file mode 100644
index 0000000..3369488
--- /dev/null
+++ b/t/impl-selection/env.t
@@ -0,0 +1,29 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+# XXX: work around dumb core segfault bug when you delete stashes
+sub get_impl { eval '$Package::Stash::IMPLEMENTATION' }
+sub set_impl { eval '$Package::Stash::IMPLEMENTATION = "' . $_[0] . '"' }
+
+{
+ $ENV{PACKAGE_STASH_IMPLEMENTATION} = 'PP';
+ require Package::Stash;
+ is(get_impl, 'PP', "autodetected properly: PP");
+ can_ok('Package::Stash', 'new');
+}
+
+delete $Package::{'Stash::'};
+delete $INC{'Package/Stash.pm'};
+delete $INC{'Package/Stash/PP.pm'};
+
+SKIP: {
+ skip "no XS", 2 unless eval "require Package::Stash::XS; 1";
+ $ENV{PACKAGE_STASH_IMPLEMENTATION} = 'XS';
+ require Package::Stash;
+ is(get_impl, 'XS', "autodetected properly: XS");
+ can_ok('Package::Stash', 'new');
+}
+
+done_testing;