зеркало из https://github.com/mozilla/pjs.git
Fix for bug 143124, Fix warning messages about *::TESTOUT and clean up
test code. Patch makes the tests much better now. r=zach x2
This commit is contained in:
Родитель
38dc7af64f
Коммит
21098a48cd
|
@ -32,57 +32,61 @@
|
|||
# GPL.
|
||||
#
|
||||
|
||||
|
||||
#################
|
||||
#Bugzilla Test 1#
|
||||
###Compilation###
|
||||
BEGIN { use lib 't/'; }
|
||||
BEGIN { use Support::Files; }
|
||||
BEGIN { $tests = @Support::Files::testitems; }
|
||||
BEGIN { use Test::More tests => $tests; }
|
||||
|
||||
use strict;
|
||||
|
||||
# First now we test the scripts
|
||||
my @testitems = @Support::Files::testitems;
|
||||
# Capture the TESTERR from Test::More for printing errors.
|
||||
# This will handle verbosity for us automatically
|
||||
*TESTOUT = \*Test::More::TESTOUT;
|
||||
use lib 't';
|
||||
|
||||
use Support::Files;
|
||||
|
||||
use Test::More tests => scalar(@Support::Files::testitems);
|
||||
|
||||
# Capture the TESTOUT from Test::More or Test::Builder for printing errors.
|
||||
# This will handle verbosity for us automatically.
|
||||
my $fh;
|
||||
{
|
||||
local $^W = 0; # Don't complain about non-existent filehandles
|
||||
if (-e \*Test::More::TESTOUT) {
|
||||
$fh = \*Test::More::TESTOUT;
|
||||
} elsif (-e \*Test::Builder::TESTOUT) {
|
||||
$fh = \*Test::Builder::TESTOUT;
|
||||
} else {
|
||||
$fh = \*STDOUT;
|
||||
}
|
||||
}
|
||||
|
||||
my @testitems = @Support::Files::testitems;
|
||||
my $perlapp = $^X;
|
||||
|
||||
# Test the scripts by compiling them
|
||||
|
||||
foreach my $file (@testitems) {
|
||||
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
|
||||
next if (!$file); # skip null entries
|
||||
open (FILE,$file);
|
||||
my $bang = <FILE>;
|
||||
close (FILE);
|
||||
my $T = "";
|
||||
if ($bang =~ m/#!\S*perl\s+-.*T/) {
|
||||
$T = "T";
|
||||
}
|
||||
my $command = "$perlapp"." -c$T $file 2>&1";
|
||||
my $loginfo=`$command`;
|
||||
#print '@@'.$loginfo.'##';
|
||||
if ($loginfo =~ /syntax ok$/im) {
|
||||
if ($loginfo ne "$file syntax OK\n") {
|
||||
print TESTOUT $loginfo;
|
||||
ok(0,$file."--WARNING");
|
||||
} else {
|
||||
ok(1,$file);
|
||||
}
|
||||
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
|
||||
next if (!$file); # skip null entries
|
||||
open (FILE,$file);
|
||||
my $bang = <FILE>;
|
||||
close (FILE);
|
||||
my $T = "";
|
||||
if ($bang =~ m/#!\S*perl\s+-.*T/) {
|
||||
$T = "T";
|
||||
}
|
||||
my $command = "$perlapp -c$T $file 2>&1";
|
||||
my $loginfo=`$command`;
|
||||
#print '@@'.$loginfo.'##';
|
||||
if ($loginfo =~ /syntax ok$/im) {
|
||||
if ($loginfo ne "$file syntax OK\n") {
|
||||
ok(0,$file." --WARNING");
|
||||
print $fh $loginfo;
|
||||
} else {
|
||||
print TESTOUT $loginfo;
|
||||
ok(0,$file."--ERROR");
|
||||
ok(1,$file);
|
||||
}
|
||||
} else {
|
||||
ok(0,$file." --ERROR");
|
||||
print $fh $loginfo;
|
||||
}
|
||||
}
|
||||
|
||||
# Remove the lib testing from here since it is now done
|
||||
# in Files.pm
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
exit 0;
|
||||
|
|
|
@ -38,13 +38,14 @@
|
|||
#Bugzilla Test 2#
|
||||
####GoodPerl#####
|
||||
|
||||
BEGIN { use lib 't/'; }
|
||||
BEGIN { use Support::Files; }
|
||||
BEGIN { $tests = @Support::Files::testitems * 2; }
|
||||
BEGIN { use Test::More tests => $tests; }
|
||||
|
||||
use strict;
|
||||
|
||||
use lib 't';
|
||||
|
||||
use Support::Files;
|
||||
|
||||
use Test::More tests => (scalar(@Support::Files::testitems) * 2);
|
||||
|
||||
my @testitems = @Support::Files::testitems; # get the files to test.
|
||||
|
||||
foreach my $file (@testitems) {
|
||||
|
|
|
@ -36,29 +36,42 @@
|
|||
#Bugzilla Test 3#
|
||||
###Safesystem####
|
||||
|
||||
BEGIN { use lib 't/'; }
|
||||
BEGIN { use Support::Files; }
|
||||
BEGIN { $tests = @Support::Files::testitems; }
|
||||
BEGIN { use Test::More tests => $tests; }
|
||||
|
||||
use strict;
|
||||
|
||||
use lib 't';
|
||||
|
||||
use Support::Files;
|
||||
|
||||
use Test::More tests => scalar(@Support::Files::testitems);
|
||||
|
||||
# Capture the TESTOUT from Test::More or Test::Builder for printing errors.
|
||||
# This will handle verbosity for us automatically.
|
||||
my $fh;
|
||||
{
|
||||
local $^W = 0; # Don't complain about non-existent filehandles
|
||||
if (-e \*Test::More::TESTOUT) {
|
||||
$fh = \*Test::More::TESTOUT;
|
||||
} elsif (-e \*Test::Builder::TESTOUT) {
|
||||
$fh = \*Test::Builder::TESTOUT;
|
||||
} else {
|
||||
$fh = \*STDOUT;
|
||||
}
|
||||
}
|
||||
|
||||
my @testitems = @Support::Files::testitems;
|
||||
# Capture the TESTERR from Test::More for printing errors.
|
||||
# This will handle verbosity for us automatically
|
||||
*TESTOUT = \*Test::More::TESTOUT;
|
||||
my $perlapp = $^X;
|
||||
|
||||
foreach my $file (@testitems) {
|
||||
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
|
||||
next if (!$file); # skip null entries
|
||||
my $command = "$perlapp -c -It -MSupport::Systemexec $file 2>&1";
|
||||
my $loginfo=`$command`;
|
||||
if ($loginfo =~ /arguments for Support::Systemexec::(system|exec)/im) {
|
||||
ok(0,"$file DOES NOT use proper system or exec calls");
|
||||
print TESTOUT $loginfo;
|
||||
} else {
|
||||
ok(1,"$file uses proper system and exec calls");
|
||||
}
|
||||
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
|
||||
next if (!$file); # skip null entries
|
||||
my $command = "$perlapp -c -It -MSupport::Systemexec $file 2>&1";
|
||||
my $loginfo=`$command`;
|
||||
if ($loginfo =~ /arguments for Support::Systemexec::(system|exec)/im) {
|
||||
ok(0,"$file DOES NOT use proper system or exec calls");
|
||||
print $fh $loginfo;
|
||||
} else {
|
||||
ok(1,"$file uses proper system and exec calls");
|
||||
}
|
||||
}
|
||||
|
||||
exit 0;
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
#Bugzilla Test 4#
|
||||
####Templates####
|
||||
|
||||
use diagnostics;
|
||||
use strict;
|
||||
|
||||
use lib 't';
|
||||
|
@ -41,10 +40,21 @@ use Template;
|
|||
use Test::More tests => ( scalar(@Support::Templates::referenced_files)
|
||||
+ scalar(@Support::Templates::actual_files) * 2);
|
||||
|
||||
# Capture the TESTOUT from Test::More or Test::Builder for printing errors.
|
||||
# This will handle verbosity for us automatically.
|
||||
my $fh;
|
||||
{
|
||||
local $^W = 0; # Don't complain about non-existent filehandles
|
||||
if (-e \*Test::More::TESTOUT) {
|
||||
$fh = \*Test::More::TESTOUT;
|
||||
} elsif (-e \*Test::Builder::TESTOUT) {
|
||||
$fh = \*Test::Builder::TESTOUT;
|
||||
} else {
|
||||
$fh = \*STDOUT;
|
||||
}
|
||||
}
|
||||
|
||||
my $include_path = $Support::Templates::include_path;
|
||||
# Capture the TESTERR from Test::More for printing errors.
|
||||
# This will handle verbosity for us automatically
|
||||
*TESTOUT = \*Test::More::TESTOUT;
|
||||
|
||||
# Check to make sure all templates that are referenced in
|
||||
# Bugzilla exist in the proper place.
|
||||
|
@ -86,8 +96,8 @@ foreach my $file(@Support::Templates::actual_files) {
|
|||
ok(1, "$file syntax ok");
|
||||
}
|
||||
else {
|
||||
print TESTOUT $template->error() . "\n";
|
||||
ok(0, "$file has bad syntax --ERROR");
|
||||
print $fh $template->error() . "\n";
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -112,3 +122,5 @@ foreach my $file(@Support::Templates::actual_files) {
|
|||
}
|
||||
close(TMPL);
|
||||
}
|
||||
|
||||
exit 0;
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#Bugzilla Test 5#
|
||||
#####no_tabs#####
|
||||
|
||||
use diagnostics;
|
||||
use strict;
|
||||
|
||||
use lib 't';
|
||||
|
@ -52,3 +51,4 @@ foreach my $file (@testitems) {
|
|||
close (FILE);
|
||||
}
|
||||
|
||||
exit 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче