|Subject:||[PATCH] p_tainted.t fix for VMS|
After the core started running tests from each extension's directory rather than from the top- level t/, this test started failing on VMS. The same workaround already in place for Win32 works for VMS as well, so that's what the attached patch does (it's against core, so apply with - p2). The mystery to me is why the absolute path is not needed on Unix; tainting should scrub '.' out of @INC so Perl_pp_require should not be able to locate a file relative to the current working directory under tainting.
--- cpan/List-Util/t/p_tainted.t;-0 2009-10-02 09:58:12 -0500 +++ cpan/List-Util/t/p_tainted.t 2009-10-15 09:33:35 -0500 @@ -6,7 +6,7 @@ use File::Spec; $List::Util::TESTING_PERL_ONLY = $List::Util::TESTING_PERL_ONLY = 1; (my $f = __FILE__) =~ s/p_//; -my $filename = $^O eq 'MSWin32' +my $filename = ($^O eq 'MSWin32' || $^O eq 'VMS') ? File::Spec->rel2abs(File::Spec->catfile(".", $f)) : File::Spec->catfile(".", $f); do $filename; die $@ if $@;