Change 16534 by jhi@alpha on 2002/05/10 13:48:10

        Don't do JAPHs unless doing "make torturetest".
        Document the less obvious make test targets.

Affected files ...

.... //depot/perl/Makefile.SH#247 edit
.... //depot/perl/pod/perlhack.pod#55 edit
.... //depot/perl/t/TEST#79 edit
.... //depot/perl/t/harness#32 edit

Differences ...

==== //depot/perl/Makefile.SH#247 (text) ====
Index: perl/Makefile.SH
--- perl/Makefile.SH#246~16356~ Thu May  2 15:30:10 2002
+++ perl/Makefile.SH    Fri May 10 06:48:10 2002
@@ -980,7 +980,7 @@
 
 .PHONY: test check test_prep test_prep_nodll test_prep_pre _test_prep \
        test_tty test-tty _test_tty test_notty test-notty _test_notty \
-       utest ucheck test.utf8 check.utf8 \
+       utest ucheck test.utf8 check.utf8 test.torture torturetest \
        test.third check.third utest.third ucheck.third test_notty.third \
        test.deparse test_notty.deparse \
        minitest coretest
@@ -1036,6 +1036,11 @@
 test-tty:      test_tty
 
 test-notty:    test_notty
+
+# Torture testing
+
+test.torture torturetest:      test_prep
+       PERL=./perl TEST_ARGS=-torture $(MAKE) _test
 
 # Targets for Third Degree testing.
 

==== //depot/perl/pod/perlhack.pod#55 (text) ====
Index: perl/pod/perlhack.pod
--- perl/pod/perlhack.pod#54~16519~     Thu May  9 03:19:04 2002
+++ perl/pod/perlhack.pod       Fri May 10 06:48:10 2002
@@ -1803,6 +1803,47 @@
 boils down to using File::Spec and avoiding things like C<fork()> and
 C<system()> unless absolutely necessary.
 
+=head2 Special Make Test Targets
+
+There are various special make targets that can be used to test Perl
+slightly differently than the standard "test" target.  Not all them
+are expected to give a 100% success rate.  Many of them have several
+aliases.
+
+=over 4
+
+=item coretest
+
+Run F<perl> on all but F<lib/*> tests.
+
+=item test.deparse
+
+Run all the tests through the B::Deparse.  Not all tests will succeed.
+
+=item minitest
+
+Run F<miniperl> on F<t/base>, F<t/comp>, F<t/cmd>, F<t/run>, F<t/io>,
+F<t/op>, and F<t/uni> tests.
+
+=item test.third check.third utest.third ucheck.third
+
+(Only in Tru64)  Run all the tests using the memory leak + naughty
+memory access tool "Third Degree".  The log files will be named
+F<perl3.log.testname>.
+
+=item test.torture torturetest
+
+Run all the usual tests and some extra tests.  As of Perl 5.8.0 the
+only extra tests are Abigail's JAPHs, t/japh/abigail.t.
+
+You can also run the torture test with F<t/harness> by giving
+C<-torture> argument to F<t/harness>.
+
+=item utest ucheck test.utf8 check.utf8
+
+Run all the tests with -Mutf8.  Not all tests will succeed.
+
+=back
 
 =head1 EXTERNAL TOOLS FOR DEBUGGING PERL
 

==== //depot/perl/t/TEST#79 (xtext) ====
Index: perl/t/TEST
--- perl/t/TEST#78~16223~       Sat Apr 27 10:43:26 2002
+++ perl/t/TEST Fri May 10 06:48:10 2002
@@ -19,6 +19,7 @@
        push( @argv, $ARGV[$idx] ), next unless $ARGV[$idx] =~ /^-(\S+)$/;
        $core    = 1 if $1 eq 'core';
        $verbose = 1 if $1 eq 'v';
+       $torture = 1 if $1 eq 'torture';
        $with_utf= 1 if $1 eq 'utf8';
         $byte_compile = 1 if $1 eq 'bytecompile';
         $compile = 1 if $1 eq 'compile';
@@ -110,9 +111,11 @@
     } else {
         warn "$0: cannot open $mani: $!\n";
     }
-    _find_tests('pod')  unless $core;
-    _find_tests('x2p')  unless $core;
-    _find_tests('japh') unless $core;
+    unless ($core) {
+       _find_tests('pod');  
+       _find_tests('x2p');
+       _find_tests('japh') if $torture;
+    }
 }
 
 # Tests known to cause infinite loops for the perlcc tests.

==== //depot/perl/t/harness#32 (text) ====
Index: perl/t/harness
--- perl/t/harness#31~16459~    Tue May  7 16:42:11 2002
+++ perl/t/harness      Fri May 10 06:48:10 2002
@@ -9,11 +9,18 @@
     $ENV{PERL5LIB} = '../lib';    # so children will see it too
 }
 
+my $torture; # torture testing?
+
 use Test::Harness;
 
 $Test::Harness::switches = "";    # Too much noise otherwise
 $Test::Harness::verbose = shift if @ARGV && $ARGV[0] eq '-v';
 
+if ($ARGV[0] eq '-torture') {
+    shift;
+    $torture = 1;
+}
+
 # Let tests know they're running in the perl core.  Useful for modules
 # which live dual lives on CPAN.
 $ENV{PERL_CORE} = 1;
@@ -57,6 +64,7 @@
         push @tests, <op/*.t>;
         push @tests, <uni/*.t>;
         push @tests, <lib/*.t>;
+        push @tests, <japh/*.t> if $torture;
        push @tests, <win32/*.t> if $^O eq 'MSWin32';
        use File::Spec;
        my $updir = File::Spec->updir;
End of Patch.

Reply via email to