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>
 
  34 use Thread::Pool::Simple;
 
  36 use Test::More tests => scalar(@Support::Files::testitems);
 
  38 # Capture the TESTOUT from Test::More or Test::Builder for printing errors.
 
  39 # This will handle verbosity for us automatically.
 
  42     local $^W = 0;  # Don't complain about non-existent filehandles
 
  43     if (-e \*Test::More::TESTOUT) {
 
  44         $fh = \*Test::More::TESTOUT;
 
  45     } elsif (-e \*Test::Builder::TESTOUT) {
 
  46         $fh = \*Test::Builder::TESTOUT;
 
  52 my @testitems = @Support::Files::testitems;
 
  53 my $perlapp = "\"$^X\"";
 
  57   my $command = "$perlapp -c -It -MSupport::Systemexec $file 2>&1";
 
  58   my $loginfo =`$command`;
 
  60   if ($loginfo =~ /arguments for Support::Systemexec::(system|exec)/im) {
 
  61     ok(0,"$file DOES NOT use proper system or exec calls");
 
  64     ok(1,"$file uses proper system and exec calls");
 
  68 my $pool = Thread::Pool::Simple->new(
 
  70   max    => Sys::CPU::cpu_count() + 1,
 
  71   do     => [ \&test_file ],
 
  75 foreach my $file (@testitems) {
 
  76   $file =~ s/\s.*$//;           # nuke everything after the first space (#comment)
 
  77   $pool->add($file) if $file;   # skip null entries