Author: bernhard
Date: Wed Dec 28 04:49:33 2005
New Revision: 10722

Added:
   trunk/t/benchmark/   (props changed)
   trunk/t/benchmark/benchmarks.t
      - copied, changed from r10718, trunk/t/benchmarks.t
Removed:
   trunk/t/benchmarks.t
Modified:
   trunk/MANIFEST
   trunk/MANIFEST.SKIP
   trunk/config/gen/makefiles/root.in
   trunk/t/README
Log:
Move t/benchmarks.t into the new directory t/benchmark.
Enable the tests again, marking the failing ones as TODO.
'make testbench' is now 'make benchmark_tests'.

'make doc_tests' now runs all tests in 't/doc'.


Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST      (original)
+++ trunk/MANIFEST      Wed Dec 28 04:49:33 2005
@@ -1781,7 +1781,7 @@ src/utils.c                             
 src/vtables.c                                     []
 src/warnings.c                                    []
 t/README                                          []
-t/benchmarks.t                                    []
+t/benchmark/benchmarks.t                          []
 t/compilers/imcc/imcpasm/cfg.t                    []
 t/compilers/imcc/imcpasm/opt0.t                   []
 t/compilers/imcc/imcpasm/opt1.t                   []

Modified: trunk/MANIFEST.SKIP
==============================================================================
--- trunk/MANIFEST.SKIP (original)
+++ trunk/MANIFEST.SKIP Wed Dec 28 04:49:33 2005
@@ -1,5 +1,5 @@
 # $Id$
-# generated by tools/dev/gen_manifest_skip.pl Wed Dec 28 01:35:04 2005
+# generated by tools/dev/gen_manifest_skip.pl Wed Dec 28 03:17:58 2005
 #
 # This file should contain a transcript of the svn:ignore properties
 # of the directories in the Parrot subversion repository. (Needed for
@@ -1036,6 +1036,11 @@
 ^t/benchmarks_.*\.pir/
 ^t/benchmarks_.*\.pasm$
 ^t/benchmarks_.*\.pasm/
+# generated from svn:ignore of 't/benchmark/'
+^t/benchmark/.*\.pasm$
+^t/benchmark/.*\.pasm/
+^t/benchmark/.*\.pir$
+^t/benchmark/.*\.pir/
 # generated from svn:ignore of 't/compilers/'
 # generated from svn:ignore of 't/compilers/imcc/'
 # generated from svn:ignore of 't/compilers/imcc/imcpasm/'

Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in  (original)
+++ trunk/config/gen/makefiles/root.in  Wed Dec 28 04:49:33 2005
@@ -614,7 +614,7 @@ help :
        @echo "  src_tests:         Run test in C-file."
        @echo "  perl_tests:        Test the Perl modules in the distribution."
        @echo "  testexex:          Testing the exex runcore."
-       @echo "  testbench:         Run all benchmarks."
+       @echo "  benchmark_tests:   Run all benchmarks."
        @echo "  manitest:          Check for new and missing files."
        @echo "  doc_tests:         Check POD syntax of all file containing 
POD."
        @echo ""
@@ -1257,12 +1257,16 @@ editor-clean :
 # The --running-make-test argument is currently used by long-running tests
 # to disable GC_DEBUG.
 EXTRA_TEST_ARGS    = --gc-debug --running-make-test
-RUN_TEST_FILES = \
-       t/run/*.t
-SRC_TEST_FILES = \
-       t/src/*.t
+DISTRO_TEST_FILES = \
+       t/distro/*.t
+BENCHMARK_TEST_FILES = \
+       t/benchmark/*.t
+DOC_TEST_FILES = \
+       t/doc/*.t
 PERL_TEST_FILES = \
        t/perl/*.t
+RUN_TEST_FILES = \
+       t/run/*.t
 RUNCORE_TEST_FILES = \
        t/compilers/imcc/*/*.t \
        t/op/*.t \
@@ -1277,10 +1281,10 @@ RUNCORE_TEST_FILES = \
        t/compilers/tge/*.t \
        t/library/*.t \
        t/examples/*.t
+SRC_TEST_FILES = \
+       t/src/*.t
 TOOLS_TEST_FILES = \
        t/tools/*.t
-DISTRO_TEST_FILES = \
-       t/distro/*.t
 
 # Common prep for all test targets.
 # We propably need a complete build before running the tests.
@@ -1306,7 +1310,7 @@ fulltest : \
        testS \
        src_tests \
        perl_tests \
-       testbench \
+       benchmark_tests \
        doc_tests \
        distro_tests
 
@@ -1355,13 +1359,17 @@ run_tests :
 perl_tests :
        $(PERL) t/harness $(PERL_TEST_FILES)
 
-# all benchmarks
-testbench: test_prep
-       $(PERL) t/harness t/benchmarks.t
+# obsolete 
+testbench : 
+       @echo "Please use the target benchmark_tests."
+
+# benchmark tests
+benchmark_tests : test_prep
+       $(PERL) t/harness $(EXTRA_TEST_ARGS) $(BENCHMARK_TEST_FILES)
 
 # doc tests
 doc_tests :
-       $(PERL) t/harness t/doc/pod.t
+       $(PERL) t/harness $(EXTRA_TEST_ARGS) $(DOC_TEST_FILES)
 
 # Running a benchmark
 mopsbench : test_prep

Modified: trunk/t/README
==============================================================================
--- trunk/t/README      (original)
+++ trunk/t/README      Wed Dec 28 04:49:33 2005
@@ -4,6 +4,8 @@
 This directory contains the Parrot test suite. 
 For details see the documentation in 'docs/tests.pod'.
 
+benchmark:    Run all benchmarks
+
 compilers:    Mini languages distributed with Parrot
 
 configure:    Configuration subsystem 

Copied: trunk/t/benchmark/benchmarks.t (from r10718, trunk/t/benchmarks.t)
==============================================================================
--- trunk/t/benchmarks.t        (original)
+++ trunk/t/benchmark/benchmarks.t      Wed Dec 28 04:49:33 2005
@@ -20,10 +20,10 @@ use Test::More;
 
 # Set up expected output from files in 'examples/benchmarks'
 my %outputs = (
-    q(addit.imc)        => qq(21001097.970000\n),
-    q(addit.pasm)       => qq(21001097.970000\n),
-    q(addit2.imc)       => qq(21001097.970000\n),
-    q(array_access.imc) => qr/^1\s\*\s1000\s=\s1000\n
+    q{addit.imc} => qq(21001097.970000\n),
+    q{addit.pasm} => qq(21001097.970000\n),
+    q{addit2.imc} => qq(21001097.970000\n),
+    q{array_access.imc} => qr/^1\s\*\s1000\s=\s1000\n
         1000\s\*\s1000\s=\s1000000\n
         Array:\s\d+\.\d+s\n
         \n
@@ -78,9 +78,9 @@ my %outputs = (
         1\s\*\s1000\s=\s1000\n
         1000\s\*\s1000\s=\s1000000\n
         StringArray:\s\d+\.\d+s\n$/x,
-    q(arriter.imc)    => qq(100000\n100000\n100000\n111111\n),
-    q(arriter_o1.imc) => qq(100000\n100000\n100000\n111111\n),
-    q(bench_newp.pasm) => qr/^\d+\.\d+\sseconds.\s\d+\.\d+\sloops\/sec\n
+    q{arriter.imc} => qq(100000\n100000\n100000\n111111\n),
+    q{arriter_o1.imc} => qq(100000\n100000\n100000\n111111\n),
+    q{bench_newp.pasm} => qr/^\d+\.\d+\sseconds.\s\d+\.\d+\sloops\/sec\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
@@ -89,69 +89,69 @@ my %outputs = (
         There\sare\s\d+\stotal\sPMC\sstructs\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(fib.imc)     => qr/^fib\(28\)\s=\s317811\s\d+\.\d+s$/x,
-    q(freeze.pasm) => qr/^constr.time\s\d+\.\d+\n
+    q{fib.imc} => qr/^fib\(28\)\s=\s317811\s\d+\.\d+s$/x,
+    q{freeze.pasm} => qr/^constr.time\s\d+\.\d+\n
         freeze\stime\s\d+\.\d+\n
         \s\sthaw\stime\s\d+\.\d+\n
         Image\slen\s\d+\n
         PerlArray\s100000\n$/x,
-    q(gc_alloc_new.pasm) => qr/^\d+\.\d+\sseconds\.\n
+    q{gc_alloc_new.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(gc_alloc_reuse.pasm) => qr/^\d+\.\d+\sseconds\.\n
+    q{gc_alloc_reuse.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(gc_generations.pasm) => qr/^\d+\.\d+\sseconds\.\n
+    q{gc_generations.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(gc_header_new.pasm) => qr/^\d+\.\d+\sseconds\.\n
+    q{gc_header_new.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(gc_header_reuse.pasm) => qr/^\d+\.\d+\sseconds\.\n
+    q{gc_header_reuse.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(gc_waves_headers.pasm) => qr/^\d+\.\d+\sseconds\.\n
+    q{gc_waves_headers.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(gc_waves_sizeable_data.pasm) => qr/^\d+\.\d+\sseconds\.\n
+    q{gc_waves_sizeable_data.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(gc_waves_sizeable_headers.pasm) => qr/^\d+\.\d+\sseconds\.\n
+    q{gc_waves_sizeable_headers.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
-    q(mops.pasm)      => qr/^Iterations:\s\s\s\s10000000\n
+    q{mops.pasm} => qr/^Iterations:\s\s\s\s10000000\n
         Estimated\sops:\s20000000\n
         done\n
         Elapsed\stime:\s\s\d+\.\d+\n
@@ -160,27 +160,27 @@ my %outputs = (
         Estimated\sops:\s200000000\n
         Elapsed\stime:\s\s\d+\.\d+\n
         M\sop\/s:\s\s\s\s\s\s\s\s\d+\.\d+\n$/x,
-    q(oo1.pasm)      => qq(10\n),
-    q(oo2.pasm)      => qq(10\n),
-    q(oo3.pasm)      => qq(10\n),
-    q(oo4.pasm)      => qq(500000\n),
-    q(oo5.imc)       => qq(10\n),
-    q(oo6.imc)       => qq(500000\n),
-    q(oofib.imc)     => qr/^fib\(28\)\s=\s317811\s\d+\.\d+s$/x,
-    q(overload.imc)  => qq(42\n),
-    q(primes.pasm)   => qr/^N\sprimes\sup\sto\s10000\sis:\s1229\n
+    q{oo1.pasm} => qq(10\n),
+    q{oo2.pasm} => qq(10\n),
+    q{oo3.pasm} => qq(10\n),
+    q{oo4.pasm} => qq(500000\n),
+    q{oo5.imc} => qq(10\n),
+    q{oo6.imc} => qq(500000\n),
+    q{oofib.imc} => qr/^fib\(28\)\s=\s317811\s\d+\.\d+s$/x,
+    q{overload.imc} => qq(42\n),
+    q{primes.pasm} => qr/^N\sprimes\sup\sto\s10000\sis:\s1229\n
         last\sis:\s10001\n
         Elapsed\stime:\s\d+\.\d+\n$/x,
-    q(primes2.pasm) => qr/^N\sprimes\scalculated\sto\s5000\sis\s670\n
+    q{primes2.pasm} => qr/^N\sprimes\scalculated\sto\s5000\sis\s670\n
         last\sis:\s4999\n$/x,
-    q(primes2_i.pasm) => qr/^N\sprimes\scalculated\sto\s10000\s
+    q{primes2_i.pasm} => qr/^N\sprimes\scalculated\sto\s10000\s
         is\s1230\nlast\sis:\s9973\n$/x,
-    q(primes_i.pasm) => qr/^N\sprimes\sup\sto\s10000\sis:\s1229\n
+    q{primes_i.pasm} => qr/^N\sprimes\sup\sto\s10000\sis:\s1229\n
         last\sis:\s9973\nElapsed\stime:\s\d+\.\d+\n$/x,
-    q(shared_ref.pasm) => qq(),
-    q(stress.pasm)     => qr/^A\stotal\sof\s\d+\sDOD\sruns\s
+    q{shared_ref.pasm} => qq(),
+    q{stress.pasm} => qr/^A\stotal\sof\s\d+\sDOD\sruns\s
         were\smade\n$/x,
-    q(stress1.pasm) => qr/^\d+\.\d+\n
+    q{stress1.pasm} => qr/^\d+\.\d+\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         \d+\.\d+\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
@@ -200,13 +200,21 @@ my %outputs = (
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         \d+\.\d+\n
         A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n$/x,
-    q(stress2.pasm) => qq(),
-    q(stress3.pasm) => qr/^A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+    q{stress2.pasm} => qq(),
+    q{stress3.pasm} => qr/^A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
         \d+\sactive\sPMCs\n
         \d+\stotal\s\sPMCs\n$/x,
-    q(vpm.imc) => qq(100000;\nl hackerjust another per\n)
+    q{vpm.imc} => qq(100000;\nl hackerjust another per\n)
 );
 
+my %todo = ( q{arriter.imc}                     => 'syntax error',
+             q{arriter_o1.imc}                  => 'syntax error',
+             q{gc_header_new.pasm}              => 'syntax error', 
+             q{gc_waves_headers.pasm}           => 'syntax error', 
+             q{gc_waves_sizeable_headers.pasm}  => 'syntax error', 
+             q{stress3.pasm}                    => 'Null PMC access in 
get_integer()',
+             q{vpm.imc}                         => 'delete_keyed() not 
implemented',
+           );
 # array_access.imc has weird output
 my %filters = ( q(array_access.imc) => \&array_access_imc_filter );
 
@@ -214,8 +222,8 @@ sub array_access_imc_filter {
     $_[ 0 ] =~ s/arr_size = S1/arr_size = 1000/;
 }
 
-#plan tests => scalar keys %outputs;
-plan skip_all => 'currently not working';
+plan tests => scalar keys %outputs;
+# plan skip_all => 'currently not working';1
 
 foreach ( sort keys %outputs ) {
   SKIP: {
@@ -223,7 +231,7 @@ foreach ( sort keys %outputs ) {
         eval {
             my $file = q(examples/benchmarks/) . $_;
             open( BENCH, qq(examples/benchmarks/$_) )
-              or die qq(Couldn't open $_:  $!.\n);
+              or die qq(Could not open $_:  $!.\n); 
             while ( my $line = <BENCH> ) { $bench .= $line; }
             close( BENCH );
 
@@ -233,12 +241,15 @@ foreach ( sort keys %outputs ) {
         };
         skip( $@, 1 ) if $@;
 
+        my @todo = $todo{$_} ? ( todo => $todo{$_} ) : ();
+        
+        # XXX use example_output_is() and example_output_like()
         if ( ref $outputs{ $_ } eq q(Regexp) ) {
             if ( /\.pasm$/ ) {
-                pasm_output_like( $bench, $outputs{ $_ }, $_ );
+                pasm_output_like( $bench, $outputs{ $_ }, $_, @todo );
             }
             elsif ( /\.imc$/ ) {
-                pir_output_like( $bench, $outputs{ $_ }, $_ );
+                pir_output_like( $bench, $outputs{ $_ }, $_, @todo );
             }
             else {
                 skip( qq(Unknown file type:  $_.), 1 );
@@ -246,10 +257,10 @@ foreach ( sort keys %outputs ) {
         }
         else {
             if ( /\.pasm$/ ) {
-                pasm_output_is( $bench, $outputs{ $_ }, $_ );
+                pasm_output_is( $bench, $outputs{ $_ }, $_, @todo );
             }
             elsif ( /\.imc$/ ) {
-                pir_output_is( $bench, $outputs{ $_ }, $_ );
+                pir_output_is( $bench, $outputs{ $_ }, $_, @todo );
             }
             else {
                 skip( qq(Unknown file type:  $_.), 1 );

Reply via email to