diff options
author | Nicholas Clark <nick@ccl4.org> | 2009-08-27 13:23:38 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2009-08-27 13:26:23 +0100 |
commit | c537bcda150384467d5ff232f1f1b27075e03c5b (patch) | |
tree | 218f8bdb2ad58e5369cce54399d10e5f08e2167f /t/harness | |
parent | 16fa5c119c4bda5c0396a5f81296bd1ccc128a9c (diff) | |
download | perl-c537bcda150384467d5ff232f1f1b27075e03c5b.tar.gz |
Share common code in t/TEST and t/harness, by having harness require ./TEST
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.
Diffstat (limited to 't/harness')
-rw-r--r-- | t/harness | 42 |
1 files changed, 4 insertions, 38 deletions
@@ -7,6 +7,7 @@ BEGIN { chdir 't' if -d 't'; @INC = '../lib'; # pick up only this build's lib } + delete $ENV{PERL5LIB}; my $torture; # torture testing? @@ -14,6 +15,9 @@ my $torture; # torture testing? use TAP::Harness 3.13; use strict; +$::do_nothing = $::do_nothing = 1; +require './TEST'; + my $Verbose = 0; $Verbose++ while @ARGV && $ARGV[0] eq '-v' && shift; @@ -51,10 +55,6 @@ my (@tests, $re); # [.VMS]TEST.COM calls harness with empty arguments, so clean-up @ARGV @ARGV = grep $_ && length( $_ ) => @ARGV; -sub _populate_hash { - return map {$_, 1} split /\s+/, $_[0]; -} - sub _extract_tests; sub _extract_tests { # This can probably be done more tersely with a map, but I doubt that it @@ -103,40 +103,6 @@ if ($ENV{HARNESS_OPTIONS}) { } } -sub _tests_from_manifest { - my ($extensions, $known_extensions) = @_; - my %skip; - my %extensions = _populate_hash($extensions); - my %known_extensions = _populate_hash($known_extensions); - - foreach (keys %known_extensions) { - $skip{$_}++ unless $extensions{$_}; - } - - my @results; - my $mani = '../MANIFEST'; - if (open(MANI, $mani)) { - while (<MANI>) { # similar code in t/TEST - if (m!^(ext/(\S+)/+(?:[^/\s]+\.t|test\.pl)|lib/\S+?(?:\.t|test\.pl))\s!) { - my ($test, $extension) = ($1, $2); - if (defined $extension) { - $extension =~ s!/t$!!; - # XXX Do I want to warn that I'm skipping these? - next if $skip{$extension}; - my $flat_extension = $extension; - $flat_extension =~ s!-!/!g; - next if $skip{$flat_extension}; # Foo/Bar may live in Foo-Bar - } - push @results, "../$test"; - } - } - close MANI; - } else { - warn "$0: cannot open $mani: $!\n"; - } - return @results; -} - if (@ARGV) { # If you want these run in speed order, just use prove if ($^O eq 'MSWin32') { |