Commit 56d130c4 authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 1137674: Merge t/003safesys.t with t/001compile.t

r=dylan a=glob
parent 2ccf81de
...@@ -49,12 +49,12 @@ sub compile_file { ...@@ -49,12 +49,12 @@ sub compile_file {
$T = "T"; $T = "T";
} }
my $libs = ''; my $libs = '-It ';
if ($ENV{PERL5LIB}) { if ($ENV{PERL5LIB}) {
$libs = join " ", map { "-I\"$_\"" } split /$Config{path_sep}/, $ENV{PERL5LIB}; $libs .= join " ", map { "-I\"$_\"" } split /$Config{path_sep}/, $ENV{PERL5LIB};
} }
my $perl = qq{"$^X"}; my $perl = qq{"$^X"};
my $output = `$perl $libs -c$T $file 2>&1`; my $output = `$perl $libs -c$T -MSupport::Systemexec $file 2>&1`;
chomp($output); chomp($output);
my $return_val = $?; my $return_val = $?;
$output =~ s/^\Q$file\E syntax OK$//ms; $output =~ s/^\Q$file\E syntax OK$//ms;
......
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#################
#Bugzilla Test 3#
###Safesystem####
use 5.10.1;
use strict;
use warnings;
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;
{
no warnings qw(unopened); # 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\"";
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 $fh $loginfo;
} else {
ok(1,"$file uses proper system and exec calls");
}
}
exit 0;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment