+# t/TEST and t/harness need to share code. The logical way to do this would be
+# to have the common code in a file both require or use. However, t/TEST needs
+# to still work, to generate test results, even if require isn't working, so
+# we cannot do that. t/harness has no such restriction, so it is quite
+# acceptable to have it require t/TEST.
+
+# In which case, we need to stop t/TEST actually running tests, as all
+# t/harness needs are its subroutines.
+
+
+# directories with special sets of test switches
+my %dir_to_switch =
+ (base => '',
+ comp => '',
+ run => '',
+ '../ext/File-Glob/t' => '-I.. -MTestInit', # FIXME - tests assume t/
+ );
+
+# "not absolute" is the the default, as it saves some fakery within TestInit
+# which can peturb tests, and takes CPU. Working with the upstream author of
+# any of these, to figure out how to remove them from this list, considered
+# "a good thing".
+my %abs = (
+ '../cpan/Archive-Extract' => 1,
+ '../cpan/Archive-Tar' => 1,
+ '../cpan/AutoLoader' => 1,
+ '../cpan/CPAN' => 1,
+ '../cpan/Class-ISA' => 1,
+ '../cpan/Cwd' => 1,
+ '../cpan/Devel-PPPort' => 1,
+ '../cpan/Encode' => 1,
+ '../cpan/ExtUtils-Command' => 1,
+ '../cpan/ExtUtils-Constant' => 1,
+ '../cpan/ExtUtils-MakeMaker' => 1,
+ '../cpan/ExtUtils-Manifest' => 1,
+ '../cpan/ExtUtils-ParseXS' => 1,
+ '../cpan/File-Fetch' => 1,
+ '../cpan/IPC-Cmd' => 1,
+ '../cpan/IPC-SysV' => 1,
+ '../cpan/Locale-Codes' => 1,
+ '../cpan/Log-Message' => 1,
+ '../cpan/Math-BigInt' => 1,
+ '../cpan/Math-BigRat' => 1,
+ '../cpan/Math-Complex' => 1,
+ '../cpan/Module-Build' => 1,
+ '../cpan/Module-Load' => 1,
+ '../cpan/Module-Load-Conditional' => 1,
+ '../cpan/Object-Accessor' => 1,
+ '../cpan/Package-Constants' => 1,
+ '../cpan/Parse-CPAN-Meta' => 1,
+ '../cpan/Pod-Simple' => 1,
+ '../cpan/Term-UI' => 1,
+ '../cpan/Test-Simple' => 1,
+ '../cpan/Tie-File' => 1,
+ '../cpan/bignum' => 1,
+ '../cpan/podlators' => 1,
+ '../dist/ExtUtils-Install' => 1,
+ );
+
+my %temp_no_core =
+ ('../cpan/B-Debug' => 1,
+ '../cpan/Compress-Raw-Bzip2' => 1,
+ '../cpan/Compress-Raw-Zlib' => 1,
+ '../cpan/Devel-PPPort' => 1,
+ '../cpan/Getopt-Long' => 1,
+ '../cpan/IO-Compress' => 1,
+ '../cpan/Math-BigInt' => 1,
+ '../cpan/Math-BigRat' => 1,
+ '../cpan/MIME-Base64' => 1,
+ '../cpan/NEXT' => 1,
+ '../cpan/parent' => 1,
+ '../cpan/Parse-CPAN-Meta' => 1,
+ '../cpan/Pod-Simple' => 1,
+ '../cpan/podlators' => 1,
+ '../cpan/Test-Simple' => 1,
+ '../cpan/Tie-RefHash' => 1,
+ '../cpan/Time-HiRes' => 1,
+ '../cpan/Unicode-Collate' => 1,
+ '../cpan/Unicode-Normalize' => 1,
+ );
+
+if ($::do_nothing) {
+ return 1;
+}
+
+# Location to put the Valgrind log.
+my $Valgrind_Log = 'current.valgrind';
+