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