6 # XXX: work around dumb core segfault bug when you delete stashes
7 sub get_impl { eval '$Package::Stash::IMPLEMENTATION' }
8 sub set_impl { eval '$Package::Stash::IMPLEMENTATION = "' . $_[0] . '"' }
11 $Package::Stash::IMPLEMENTATION = 'PP';
12 require Package::Stash;
13 is(get_impl, 'PP', "autodetected properly: PP");
14 can_ok('Package::Stash', 'new');
17 delete $Package::{'Stash::'};
18 delete $INC{'Package/Stash.pm'};
19 delete $INC{'Package/Stash/PP.pm'};
22 skip "no XS", 2 unless eval "require Package::Stash::XS; 1";
23 $Package::Stash::IMPLEMENTATION = 'XS';
24 require Package::Stash;
25 is(get_impl, 'XS', "autodetected properly: XS");
26 can_ok('Package::Stash', 'new');