changelog
[gitmo/Package-Stash.git] / t / impl-selection / 02-env.t
CommitLineData
a5129e53 1#!/usr/bin/env perl
2use strict;
3use warnings;
4use Test::More;
5
6# XXX: work around dumb core segfault bug when you delete stashes
7sub get_impl { eval '$Package::Stash::IMPLEMENTATION' }
8sub set_impl { eval '$Package::Stash::IMPLEMENTATION = "' . $_[0] . '"' }
9
10{
11 $ENV{PACKAGE_STASH_IMPLEMENTATION} = 'PP';
12 require Package::Stash;
13 is(get_impl, 'PP', "autodetected properly: PP");
14 can_ok('Package::Stash', 'new');
15}
16
17delete $Package::{'Stash::'};
18delete $INC{'Package/Stash.pm'};
19delete $INC{'Package/Stash/PP.pm'};
20
21SKIP: {
22 skip "no XS", 2 unless eval "require Package::Stash::XS; 1";
23 $ENV{PACKAGE_STASH_IMPLEMENTATION} = 'XS';
24 require Package::Stash;
25 is(get_impl, 'XS', "autodetected properly: XS");
26 can_ok('Package::Stash', 'new');
27}
28
29done_testing;