Please review the patch attached, which implements your suggestion.  But
note that while I have removed $(PARROT_ARGS) from
config/gen/makefiles/root.in, I have left it untouched in these other
files where it is found:

./tools/dev/mk_language_shell.pl
./config/gen/makefiles/nqp.in
./languages/perl6/config/makefiles/utils.in
./languages/perl6/config/makefiles/root.in
./languages/PIR/config/makefiles/root.in
./languages/ecmascript/config/makefiles/root.in
./languages/hq9plus/config/makefiles/root.in
./languages/APL/config/makefiles/root.in
./languages/cardinal/config/makefiles/root.in
./languages/lolcode/config/makefiles/root.in
./languages/pynie/config/makefiles/root.in
./languages/squaak/config/makefiles/root.in
./languages/c99/config/makefiles/cpp.in
./languages/c99/config/makefiles/root.in

kid51
Index: lib/Parrot/Harness/DefaultTests.pm
===================================================================
--- lib/Parrot/Harness/DefaultTests.pm  (.../trunk)     (revision 27904)
+++ lib/Parrot/Harness/DefaultTests.pm  (.../branches/codetests)        
(revision 27965)
@@ -10,6 +10,14 @@
 This file exports by default a single subroutine, C<get_default_tests()>,
 which is the list of tests run by F<t/harness> by default.
 
+Upon request, this package exports five arrays holding various sets of tests:
+
+    @runcore_tests
+    @core_tests
+    @configure_tests
+    @standard_tests
+    @developing_tests
+
 In list context, C<get_default_tests()> returns the list of default tests.  In
 scalar context it returns a reference to that list.
 
@@ -20,11 +28,25 @@
 use strict;
 use warnings;
 
+our (
+    @runcore_tests,
+    @core_tests,
+    @configure_tests,
+    @standard_tests,
+    @developing_tests
+);
 use base qw( Exporter );
 our @EXPORT = qw( get_default_tests );
+our @EXPORT_OK = qw(
+    @runcore_tests
+    @core_tests
+    @configure_tests
+    @standard_tests
+    @developing_tests
+);
 
 # runcore tests are always run.
-our @runcore_tests = qw(
[EMAIL PROTECTED] = qw(
     t/compilers/imcc/*/*.t
     t/op/*.t
     t/pmc/*.t
@@ -42,7 +64,7 @@
 
 # core tests are run unless --runcore-tests is present.  Typically
 # this list and the list above are run in response to --core-tests
-our @core_tests = qw(
[EMAIL PROTECTED] = qw(
     t/run/*.t
     t/src/*.t
     t/tools/*.t
@@ -53,15 +75,15 @@
 # configure tests are tests to be run at the beginning of 'make test';
 # standard tests are other tests run by default with no core options
 # present
-our @configure_tests = qw( t/configure/*.t t/steps/*.t t/postconfigure/*.t );
-our @standard_tests = qw(
[EMAIL PROTECTED] = qw( t/configure/*.t t/steps/*.t t/postconfigure/*.t );
[EMAIL PROTECTED] = qw(
     t/compilers/json/*.t
     t/examples/*.t
     t/doc/*.t
     t/distro/manifest.t
 );
 
-our @developing_tests = (
[EMAIL PROTECTED] = (
     't/distro/file_metadata.t',
     map { "t/codingstd/$_" } qw(
         c_code_coda.t
Index: lib/Parrot/Harness/Options.pm
===================================================================
--- lib/Parrot/Harness/Options.pm       (.../trunk)     (revision 27904)
+++ lib/Parrot/Harness/Options.pm       (.../branches/codetests)        
(revision 27965)
@@ -41,6 +41,9 @@
     $longopts{html} = grep { $_ eq '--html' } @argv;
     @argv = grep { $_ ne '--html' } @argv;
 
+    $longopts{code} = grep { $_ eq '--code' } @argv;
+    @argv = grep { $_ ne '--code' } @argv;
+
     $longopts{run_exec} = grep { $_ eq '--run-exec' } @argv;
     @argv = grep { $_ ne '--run-exec' } @argv;
 
@@ -87,6 +90,7 @@
     --core-tests
     --runcore-tests
     --html
+    --code
 EOF
 
     return;
Index: MANIFEST
===================================================================
--- MANIFEST    (.../trunk)     (revision 27904)
+++ MANIFEST    (.../branches/codetests)        (revision 27965)
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools\dev\mk_manifest_and_skip.pl Wed May 28 18:19:10 2008 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Sat May 31 02:30:03 2008 UT
 #
 # See tools/dev/install_files.pl for documentation on the
 # format of this file.
Index: MANIFEST.SKIP
===================================================================
--- MANIFEST.SKIP       (.../trunk)     (revision 27904)
+++ MANIFEST.SKIP       (.../branches/codetests)        (revision 27965)
@@ -1,6 +1,6 @@
 # ex: set ro:
 # $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Sun May 25 18:04:29 2008 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Thu May 29 02:04:25 2008 UT
 #
 # This file should contain a transcript of the svn:ignore properties
 # of the directories in the Parrot subversion repository. (Needed for
@@ -999,6 +999,8 @@
 ^languages/perl6/src/utils/perl6doc/gen_.*\.pir$
 ^languages/perl6/src/utils/perl6doc/gen_.*\.pir/
 # generated from svn:ignore of 'languages/perl6/t/'
+^languages/perl6/t/localtest\.data$
+^languages/perl6/t/localtest\.data/
 ^languages/perl6/t/spec$
 ^languages/perl6/t/spec/
 # generated from svn:ignore of 'languages/pheme/'
Index: t/harness
===================================================================
--- t/harness   (.../trunk)     (revision 27904)
+++ t/harness   (.../branches/codetests)        (revision 27965)
@@ -8,7 +8,10 @@
 
 use Getopt::Std;
 use Test::Harness ();
-use Parrot::Harness::DefaultTests;
+use Parrot::Harness::DefaultTests qw(
+    get_default_tests
+    @developing_tests
+);
 use Parrot::Harness::Options qw(
     handle_long_options
     get_test_prog_args
@@ -50,16 +53,19 @@
 
 my @tests = map { glob( $_ ) } (@ARGV ? @ARGV : @default_tests);
 
-if ( ! $longopts->{html} ) {
-    Test::Harness::runtests(@tests);
+if ( $longopts->{code} ) {
+    Test::Harness::runtests(@developing_tests);
 }
-else {
+elsif ( $longopts->{html} ) {
     generate_html_smoke_report ( {
         tests       => [EMAIL PROTECTED],
         args        => $args,
         file        => 'smoke.html',
     } );
 }
+else {
+    Test::Harness::runtests(@tests);
+}
 
 =head1 NAME
 
@@ -139,6 +145,10 @@
 
 Emit a C<smoke.html> file instead of displaying results.
 
+=item C<--code>
+
+Run only the file metadata and basic coding standards tests.
+
 =back
 
 =head1 HISTORY
Index: config/gen/makefiles/root.in
===================================================================
--- config/gen/makefiles/root.in        (.../trunk)     (revision 27904)
+++ config/gen/makefiles/root.in        (.../branches/codetests)        
(revision 27965)
@@ -668,6 +668,7 @@
        @echo "  src_tests:         Run test in C-file."
        @echo "  run_tests:         Command line and various environments."
        @echo "  perl_tests:        Test the Perl modules in the distribution."
+       @echo "  codetest:          Run file metadata and coding standards 
tests."
        @echo "  codingstd_tests:   Test pdd07_codingstd."
        @echo "  testexec:          Testing the exec runcore."
        @echo "  benchmark_tests:   Run all benchmarks."
@@ -1513,6 +1514,9 @@
 perl_tests :
        $(PERL) t/harness $(PERL_TEST_FILES)
 
+codetest :
+       $(PERL) t/run_code_tests
+
 # Test pdd07_codingstd
 codingstd_tests :
        $(PERL) t/harness $(CODINGSTD_TEST_FILES)

Reply via email to