Add a php linting test.
authorAntoine Musso <hashar@users.mediawiki.org>
Sat, 21 Apr 2007 16:27:06 +0000 (16:27 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Sat, 21 Apr 2007 16:27:06 +0000 (16:27 +0000)
t/maint/php-lint.t [new file with mode: 0644]

diff --git a/t/maint/php-lint.t b/t/maint/php-lint.t
new file mode 100644 (file)
index 0000000..e65d689
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/env perl
+#
+# Based on php-tag.t and eol-style
+#
+use strict;
+use warnings;
+
+use Test::More;
+use File::Find;
+use IPC::Open3;
+use File::Spec;
+use Symbol qw(gensym);
+
+my $ext = qr/(?: php | inc )/x;
+my @files;
+
+find( sub { push @files, $File::Find::name if -f && /\. $ext $/x }, '.' );
+
+plan tests => scalar @files ;
+
+for my $file (@files) {
+       open NULL, '+>', File::Spec->devnull and \*NULL or die;
+       my $pid = open3('<&NULL', \*P, '>&NULL', qw'php -l', $file);
+       my $res = do { local $/; <P> . "" };
+       chomp $res;
+       waitpid $pid, 0;
+
+       if ( $? == 0 ) {
+               ok 1 => "Looks fine";
+       } else {
+               ok 0 => "$file does not pass php linter. Error was: $res";
+       }
+}