# New Ticket Created by  "Paul Cochrane" 
# Please include the string:  [perl #40370]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40370 >


Hi,

Attached is a patch for the code_coda.t test.  The test now accepts
files passed in at the command line as advertised, and the regular
expression check has been fixed (I won't say improved as I think it
could be better, but it matches the coda at the end of the C files
now).  Included in the regular expression is a somewhat more pedantic
version of the coda check, but I've commented this one out as I don't
know how picky people want to be (in other words, hack the patch at
will).

Files affected:

t/codingstd/code_coda.t

Regards,

Paul
Index: t/codingstd/code_coda.t
===================================================================
--- t/codingstd/code_coda.t	(revision 14668)
+++ t/codingstd/code_coda.t	(working copy)
@@ -38,27 +38,51 @@
 my @files = @ARGV ? @ARGV : source_files();
 my @comments;
 
+# process all files given to the script
 foreach my $file ( @files ) {
     my $buf;
-    my $path = $file->path;
+    my $path;
+
+    ## get the full path of the file
+    # if we have command line arguments, the file is the full path
+    if (@ARGV > 0) {
+        $path = $file;
+    }
+    # otherwise, use the relevant Parrot:: path method
+    else {
+        $path = $file->path;
+    }
+
+    # slurp in the file
     open(my $fh, '<', $path)
         or die "Cannot open '$path' for reading: $!\n";
     {
         local $/;
         $buf = <$fh>;
     }
+
+    # append to the comments array if the code doesn't match
     push @comments => "$path\n"
-        unless $buf =~ m{\Q
-/*
- * Local variables:
- *   c-file-style: "parrot"
- * End:
- * vim: expandtab shiftwidth=4:
- */\E
- \n* \z
+        unless $buf =~ m{
+#/ \* \s*
+#\* [ ] Local [ ] variables: \s*
+#\* [ ] [ ] [ ] c-file-style: [ ] "parrot" \s*
+#\* [ ] End: \s*
+#\* [ ] vim: [ ] expandtab [ ] shiftwidth=4: \s*
+#\* / 
+#\n* \z
+/ \* \s*
+  \* \s* Local \s* variables: \s*
+  \* \s* c-file-style: \s* "parrot" \s*
+  \* \s* End: \s*
+  \* \s* vim: \s* expandtab \s* shiftwidth=4: \s*
+  \* / 
+\n* \z
     }x;
+
 }
 
+
 ok(!scalar(@comments), 'C code coda')
     or diag("C code coda missing in ".scalar @comments." files:[EMAIL PROTECTED]");
 

Reply via email to