# New Ticket Created by Moritz Lenz
# Please include the string: [perl #55346]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55346 >
Attached patch adds a script to tools/ that walks through a test
specification file (t/spectest_regression.data by default) and prints a
list of files that are marked as pure, but still contain '#?rakudo'
fudge directives.
particle++ for suggesting it.
It's only tested under linux so far, so please also test on MacOS and
Windows before applying.
Cheers,
Moritz
--
Moritz Lenz
http://moritz.faui2k3.org/ | http://perl-6.de/
Index: MANIFEST
===================================================================
--- MANIFEST (revision 28098)
+++ MANIFEST (working copy)
@@ -1,7 +1,7 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Jun 4 20:37:00 2008 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Thu Jun 5 15:13:47 2008 UT
#
# See tools/dev/install_files.pl for documentation on the
# format of this file.
@@ -1961,6 +1961,7 @@
languages/perl6/t/harness [perl6]
languages/perl6/t/pmc/mutable.t [perl6]
languages/perl6/t/spectest_regression.data [perl6]
+languages/perl6/tools/fudge_purity_inspector.pl [perl6]
languages/perl6/tools/update_passing_test_data.pl [perl6]
languages/pheme/MAINTAINER [pheme]
languages/pheme/MANIFEST [pheme]
Index: languages/perl6/tools/fudge_purity_inspector.pl
===================================================================
--- languages/perl6/tools/fudge_purity_inspector.pl (revision 0)
+++ languages/perl6/tools/fudge_purity_inspector.pl (revision 0)
@@ -0,0 +1,39 @@
+#! perl -w
+# Copyright (C) 2008, The Perl Foundation.
+# $Id$
+use strict;
+use warnings;
+
+my $input_file = shift @ARGV || 't/spectest_regression.data';
+my $impl = 'rakudo';
+
+open my $fh, '<', $input_file
+ or die "Can't open '$input_file' for reading: $!";
+
+print "The following files, if any, contain fudge directives,\n";
+print "although they are marked as pure:\n";
+
+while (<$fh>){
+ chomp;
+ next if m/^#/ || m/^\s*$/;
+ my ($file, $comment) = split m/\s*#\s*/;
+ if ($comment && $comment eq 'pure'){
+ check_file_and_warn($file);
+ }
+}
+
+sub check_file_and_warn {
+ my $filename = shift;
+ $filename = "t/spec/$filename";
+# warn "checking file <$filename>\n";
+ open my $fh, '<', $filename
+ or die "Can't opne file '$filename' for reading: $!";
+ my $re = qr{^\s*#\?$impl};
+ while (<$fh>) {
+ if (m/$re/){
+ print $filename, "\n";
+ last;
+ }
+ }
+ close $fh;
+}
Property changes on: languages/perl6/tools/fudge_purity_inspector.pl
___________________________________________________________________
Name: svn:mime-type
+ text/plain; charset=UTF-8
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native