X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Faggregate%2Funit_core_script_server-without_modules.t;h=d6bbcaff960c1ed2183f3126b40d919f0f52a917;hp=2fc77725f52fb87784c01e8bcadcbe6b52a79330;hb=10542b5178b2fa036e0658111523ea68a7a04437;hpb=925f587745ef8fa53a4d7458f67a827a68a04dc3 diff --git a/t/aggregate/unit_core_script_server-without_modules.t b/t/aggregate/unit_core_script_server-without_modules.t index 2fc7772..d6bbcaf 100644 --- a/t/aggregate/unit_core_script_server-without_modules.t +++ b/t/aggregate/unit_core_script_server-without_modules.t @@ -1,29 +1,28 @@ use strict; use warnings; use FindBin qw/$Bin/; + +# Package::Stash::XS has a weird =~ XS invocation during its compilation +# This interferes with @INC hooks that do rematcuing on their own on +# perls before 5.8.7. Just use the PP version to work around this. +BEGIN { $ENV{PACKAGE_STASH_IMPLEMENTATION} = 'PP' if $] < '5.008007' } + use Test::More; use Try::Tiny; -plan skip_all => "Need Test::Without::Module for this test" - unless try { require Test::Without::Module; 1 }; - -Test::Without::Module->import(qw( - Starman +my %hidden = map { (my $m = "$_.pm") =~ s{::}{/}g; $m => 1 } qw( + Starman::Server Plack::Handler::Starman MooseX::Daemonize MooseX::Daemonize::Pid::File MooseX::Daemonize::Core -)); +); +local @INC = (sub { + return unless exists $hidden{$_[1]}; + die "Can't locate $_[1] in \@INC (hidden)\n"; +}, @INC); -require "$Bin/../aggregate/unit_core_script_server.t"; - -Test::Without::Module->unimport(qw( - Starman - Plack::Handler::Starman - MooseX::Daemonize - MooseX::Daemonize::Pid::File - MooseX::Daemonize::Core -)); +do "$Bin/../aggregate/unit_core_script_server.t" + or die $@ || 'test returned false'; 1; -