]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Fix for bug 143124, Fix warning messages about *::TESTOUT and clean up
authorzach%zachlipton.com <>
Thu, 9 May 2002 06:49:31 +0000 (06:49 +0000)
committerzach%zachlipton.com <>
Thu, 9 May 2002 06:49:31 +0000 (06:49 +0000)
test code. Patch makes the tests much better now.

r=zach x2

t/001compile.t
t/002goodperl.t
t/003safesys.t
t/004template.t
t/005no_tabs.t

index 561aacf4520ad18e117718ec52a88624df859157..f662f0751edc93bd0085ba7586c71d4c2808bab4 100644 (file)
 # 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;
index 09a5f032421b0f82e8077b24b34bf6b91d93d6db..d3beec5ef490fe3dc90bcff7c25048e2ff6655c7 100644 (file)
 #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) {
index 98e9d2d64bea9a746dc579e364b930bde8978e38..14de7c03056ab32c11bb80f80c2c260c93fa61a6 100644 (file)
 #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;
index f9cd0fad9743e0a0fc29b60dd783d4e1298d1937..f56a3014054ee231064b463dda8b016b0823e8a0 100644 (file)
@@ -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;
index eaf1ef241fd77ca0a81f3a1ac1452677be866196..31d584ae05c9eefcbedf718e24b6ef77e6444578 100644 (file)
@@ -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;