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)