1 # -*- Mode: perl; indent-tabs-mode: nil -*-
 
   3 # The contents of this file are subject to the Mozilla Public
 
   4 # License Version 1.1 (the "License"); you may not use this file
 
   5 # except in compliance with the License. You may obtain a copy of
 
   6 # the License at http://www.mozilla.org/MPL/
 
   8 # Software distributed under the License is distributed on an "AS
 
   9 # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 
  10 # implied. See the License for the specific language governing
 
  11 # rights and limitations under the License.
 
  13 # The Original Code are the Bugzilla Tests.
 
  15 # The Initial Developer of the Original Code is Zach Lipton
 
  16 # Portions created by Zach Lipton are
 
  17 # Copyright (C) 2001 Zach Lipton.  All
 
  20 # Contributor(s): Zach Lipton <zach@zachlipton.com>
 
  33 use Test::More tests => scalar(@Support::Files::testitems);
 
  35 # Need this to get the available driver information
 
  37 #my @DBI_drivers = DBI->available_drivers;
 
  39 # Bugzilla requires Perl 5.8.0 now.  Checksetup will tell you this if you run it, but
 
  40 # it tests it in a polite/passive way that won't make it fail at compile time.  We'll
 
  41 # slip in a compile-time failure if it's missing here so a tinderbox on < 5.8 won't
 
  42 # pass and mistakenly let people think Bugzilla works on any perl below 5.8.
 
  45 # Capture the TESTOUT from Test::More or Test::Builder for printing errors.
 
  46 # This will handle verbosity for us automatically.
 
  49     local $^W = 0;  # Don't complain about non-existent filehandles
 
  50     if (-e \*Test::More::TESTOUT) {
 
  51         $fh = \*Test::More::TESTOUT;
 
  52     } elsif (-e \*Test::Builder::TESTOUT) {
 
  53         $fh = \*Test::Builder::TESTOUT;
 
  59 my @testitems = @Support::Files::testitems;
 
  60 my $perlapp = "\"$^X\"";
 
  62 # Test the scripts by compiling them
 
  64 foreach my $file (@testitems) {
 
  65     $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
 
  66     next if !$file;    # skip null entries
 
  72     $T = "T" if $bang =~ m/#!\S*perl\s+-.*T/;
 
  75         ok(1, "$file is a symlink");
 
  77         my $command = "$perlapp -w -c$T -Imodules/fallback -Imodules/override -It -MSupport::CanonialGlobals $file 2>&1";
 
  78         my $loginfo=`$command`;
 
  80         if ($loginfo =~ /syntax ok$/im) {
 
  81             if ($loginfo ne "$file syntax OK\n") {
 
  82                 ok(0,$file." --WARNING");
 
  88             ok(0,$file." --ERROR");