* (bug 13130) Moved edit token and autosummary fields above edit tools to
[mediawiki.git] / t / maint / php-lint.t
blob6687a089405be2856f23a351edad5f684fd895b9
1 #!/usr/bin/env perl
3 # Based on php-tag.t and eol-style
5 use strict;
6 use warnings;
8 use Test::More;
9 use File::Find;
10 use IPC::Open3;
11 use File::Spec;
12 use Symbol qw(gensym);
14 my $ext = qr/(?: php | inc )/x;
15 my @files;
17 find( sub { push @files, $File::Find::name if -f && /\. $ext $/x }, '.' );
19 plan tests => scalar @files ;
21 for my $file (@files) {
22 open NULL, '+>', File::Spec->devnull and \*NULL or die;
23 my $pid = open3('<&NULL', \*P, '>&NULL', qw'php -l', $file);
24 my $res = do { local $/; <P> . "" };
25 chomp $res;
26 waitpid $pid, 0;
28 if ( $? == 0 ) {
29 pass($file);
30 } else {
31 fail("$file does not pass php -l. Error was: $res");