summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authorzach%zachlipton.com <>2002-05-09 08:49:31 +0200
committerzach%zachlipton.com <>2002-05-09 08:49:31 +0200
commitccf9d404cfe99346af2f08dbbda44a3a53912b90 (patch)
treee8d3de7e241b998d8dc5498852873938632316b9 /t
parent1d10fae35ea91b2e038cc8d3942a1860415e5dde (diff)
downloadbugzilla-ccf9d404cfe99346af2f08dbbda44a3a53912b90.tar.gz
bugzilla-ccf9d404cfe99346af2f08dbbda44a3a53912b90.tar.xz
Fix for bug 143124, Fix warning messages about *::TESTOUT and clean up
test code. Patch makes the tests much better now. r=zach x2
Diffstat (limited to 't')
-rw-r--r--t/001compile.t86
-rw-r--r--t/002goodperl.t11
-rw-r--r--t/003safesys.t49
-rw-r--r--t/004template.t22
-rw-r--r--t/005no_tabs.t2
5 files changed, 100 insertions, 70 deletions
diff --git a/t/001compile.t b/t/001compile.t
index 561aacf45..f662f0751 100644
--- a/t/001compile.t
+++ b/t/001compile.t
@@ -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;
-my $perlapp = $^X;
-
-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);
- }
- } else {
- print TESTOUT $loginfo;
- ok(0,$file."--ERROR");
- }
-}
-
-# Remove the lib testing from here since it is now done
-# in Files.pm
-
+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") {
+ ok(0,$file." --WARNING");
+ print $fh $loginfo;
+ } else {
+ ok(1,$file);
+ }
+ } else {
+ ok(0,$file." --ERROR");
+ print $fh $loginfo;
+ }
+}
+exit 0;
diff --git a/t/002goodperl.t b/t/002goodperl.t
index 09a5f0324..d3beec5ef 100644
--- a/t/002goodperl.t
+++ b/t/002goodperl.t
@@ -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) {
diff --git a/t/003safesys.t b/t/003safesys.t
index 98e9d2d64..14de7c030 100644
--- a/t/003safesys.t
+++ b/t/003safesys.t
@@ -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;
diff --git a/t/004template.t b/t/004template.t
index f9cd0fad9..f56a30140 100644
--- a/t/004template.t
+++ b/t/004template.t
@@ -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;
diff --git a/t/005no_tabs.t b/t/005no_tabs.t
index eaf1ef241..31d584ae0 100644
--- a/t/005no_tabs.t
+++ b/t/005no_tabs.t
@@ -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;