зеркало из 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.
|
# GPL.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
#Bugzilla Test 1#
|
#Bugzilla Test 1#
|
||||||
###Compilation###
|
###Compilation###
|
||||||
BEGIN { use lib 't/'; }
|
|
||||||
BEGIN { use Support::Files; }
|
|
||||||
BEGIN { $tests = @Support::Files::testitems; }
|
|
||||||
BEGIN { use Test::More tests => $tests; }
|
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
# First now we test the scripts
|
use lib 't';
|
||||||
my @testitems = @Support::Files::testitems;
|
|
||||||
# Capture the TESTERR from Test::More for printing errors.
|
use Support::Files;
|
||||||
# This will handle verbosity for us automatically
|
|
||||||
*TESTOUT = \*Test::More::TESTOUT;
|
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;
|
my $perlapp = $^X;
|
||||||
|
|
||||||
|
# Test the scripts by compiling them
|
||||||
|
|
||||||
foreach my $file (@testitems) {
|
foreach my $file (@testitems) {
|
||||||
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
|
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
|
||||||
next if (!$file); # skip null entries
|
next if (!$file); # skip null entries
|
||||||
open (FILE,$file);
|
open (FILE,$file);
|
||||||
my $bang = <FILE>;
|
my $bang = <FILE>;
|
||||||
close (FILE);
|
close (FILE);
|
||||||
my $T = "";
|
my $T = "";
|
||||||
if ($bang =~ m/#!\S*perl\s+-.*T/) {
|
if ($bang =~ m/#!\S*perl\s+-.*T/) {
|
||||||
$T = "T";
|
$T = "T";
|
||||||
}
|
}
|
||||||
my $command = "$perlapp"." -c$T $file 2>&1";
|
my $command = "$perlapp -c$T $file 2>&1";
|
||||||
my $loginfo=`$command`;
|
my $loginfo=`$command`;
|
||||||
#print '@@'.$loginfo.'##';
|
#print '@@'.$loginfo.'##';
|
||||||
if ($loginfo =~ /syntax ok$/im) {
|
if ($loginfo =~ /syntax ok$/im) {
|
||||||
if ($loginfo ne "$file syntax OK\n") {
|
if ($loginfo ne "$file syntax OK\n") {
|
||||||
print TESTOUT $loginfo;
|
ok(0,$file." --WARNING");
|
||||||
ok(0,$file."--WARNING");
|
print $fh $loginfo;
|
||||||
} else {
|
|
||||||
ok(1,$file);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
print TESTOUT $loginfo;
|
ok(1,$file);
|
||||||
ok(0,$file."--ERROR");
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ok(0,$file." --ERROR");
|
||||||
|
print $fh $loginfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Remove the lib testing from here since it is now done
|
exit 0;
|
||||||
# in Files.pm
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,13 +38,14 @@
|
||||||
#Bugzilla Test 2#
|
#Bugzilla Test 2#
|
||||||
####GoodPerl#####
|
####GoodPerl#####
|
||||||
|
|
||||||
BEGIN { use lib 't/'; }
|
|
||||||
BEGIN { use Support::Files; }
|
|
||||||
BEGIN { $tests = @Support::Files::testitems * 2; }
|
|
||||||
BEGIN { use Test::More tests => $tests; }
|
|
||||||
|
|
||||||
use strict;
|
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.
|
my @testitems = @Support::Files::testitems; # get the files to test.
|
||||||
|
|
||||||
foreach my $file (@testitems) {
|
foreach my $file (@testitems) {
|
||||||
|
|
|
@ -36,29 +36,42 @@
|
||||||
#Bugzilla Test 3#
|
#Bugzilla Test 3#
|
||||||
###Safesystem####
|
###Safesystem####
|
||||||
|
|
||||||
BEGIN { use lib 't/'; }
|
|
||||||
BEGIN { use Support::Files; }
|
|
||||||
BEGIN { $tests = @Support::Files::testitems; }
|
|
||||||
BEGIN { use Test::More tests => $tests; }
|
|
||||||
|
|
||||||
use strict;
|
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;
|
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;
|
my $perlapp = $^X;
|
||||||
|
|
||||||
foreach my $file (@testitems) {
|
foreach my $file (@testitems) {
|
||||||
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
|
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
|
||||||
next if (!$file); # skip null entries
|
next if (!$file); # skip null entries
|
||||||
my $command = "$perlapp -c -It -MSupport::Systemexec $file 2>&1";
|
my $command = "$perlapp -c -It -MSupport::Systemexec $file 2>&1";
|
||||||
my $loginfo=`$command`;
|
my $loginfo=`$command`;
|
||||||
if ($loginfo =~ /arguments for Support::Systemexec::(system|exec)/im) {
|
if ($loginfo =~ /arguments for Support::Systemexec::(system|exec)/im) {
|
||||||
ok(0,"$file DOES NOT use proper system or exec calls");
|
ok(0,"$file DOES NOT use proper system or exec calls");
|
||||||
print TESTOUT $loginfo;
|
print $fh $loginfo;
|
||||||
} else {
|
} else {
|
||||||
ok(1,"$file uses proper system and exec calls");
|
ok(1,"$file uses proper system and exec calls");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exit 0;
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#Bugzilla Test 4#
|
#Bugzilla Test 4#
|
||||||
####Templates####
|
####Templates####
|
||||||
|
|
||||||
use diagnostics;
|
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
use lib 't';
|
use lib 't';
|
||||||
|
@ -41,10 +40,21 @@ use Template;
|
||||||
use Test::More tests => ( scalar(@Support::Templates::referenced_files)
|
use Test::More tests => ( scalar(@Support::Templates::referenced_files)
|
||||||
+ scalar(@Support::Templates::actual_files) * 2);
|
+ 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;
|
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
|
# Check to make sure all templates that are referenced in
|
||||||
# Bugzilla exist in the proper place.
|
# Bugzilla exist in the proper place.
|
||||||
|
@ -86,8 +96,8 @@ foreach my $file(@Support::Templates::actual_files) {
|
||||||
ok(1, "$file syntax ok");
|
ok(1, "$file syntax ok");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print TESTOUT $template->error() . "\n";
|
|
||||||
ok(0, "$file has bad syntax --ERROR");
|
ok(0, "$file has bad syntax --ERROR");
|
||||||
|
print $fh $template->error() . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -112,3 +122,5 @@ foreach my $file(@Support::Templates::actual_files) {
|
||||||
}
|
}
|
||||||
close(TMPL);
|
close(TMPL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exit 0;
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#Bugzilla Test 5#
|
#Bugzilla Test 5#
|
||||||
#####no_tabs#####
|
#####no_tabs#####
|
||||||
|
|
||||||
use diagnostics;
|
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
use lib 't';
|
use lib 't';
|
||||||
|
@ -52,3 +51,4 @@ foreach my $file (@testitems) {
|
||||||
close (FILE);
|
close (FILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exit 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче