[Bug 1084399] New: t/comp/parser.t loads modules from system instead from build directory
bugzilla at redhat.com
bugzilla at redhat.com
Fri Apr 4 09:07:38 UTC 2014
https://bugzilla.redhat.com/show_bug.cgi?id=1084399
Bug ID: 1084399
Summary: t/comp/parser.t loads modules from system instead from
build directory
Product: Fedora
Version: rawhide
Component: perl
Assignee: jplesnik at redhat.com
Reporter: ppisar at redhat.com
QA Contact: extras-qa at fedoraproject.org
CC: cweyl at alumni.drew.edu, iarnell at gmail.com,
jplesnik at redhat.com, kasal at ucw.cz,
perl-devel at lists.fedoraproject.org, ppisar at redhat.com,
psabata at redhat.com, rc040203 at freenet.de,
tcallawa at redhat.com
perl-5.18.2-296.fc21 loads modules from system instead from build directory at
some tests. E.g. t/comp/parser.t:
$ LD_PRELOAD=../libperl.so strace -fq -eopen,execve ./perl harness
comp/parser.t 2>&1 |grep '"/usr/lib64/perl5/'
[pid 13545] open("/usr/lib64/perl5/re.pm", O_RDONLY) = 5
[pid 13545] open("/usr/lib64/perl5/auto/re/re.so", O_RDONLY|O_CLOEXEC) = 5
This is caused by a bug in t/TEST where _cmd() functions forgets to emit "-I"
arguments if requested. The _cmd() is called with:
$VAR1 = {
'return_dir' => undef,
'testswitch' => '',
'perl' => './perl',
'file' => '',
'utf8' => '',
'lib' => '../lib',
'run_dir' => undef,
'switch' => '',
'test' => 'comp/parser.t'
};
$VAR2 = 'perl';
but it returns:
$VAR1 = './perl comp/parser.t ';
while it should return:
$VAR1 = './perl -I../lib comp/parser.t ';
The fix is to change line:
$cmd = $perl . _quote_args($args) . " $test $redir";
into:
my $lib = ($options->{lib} eq '') ? '' : " -I$options->{lib}";
$cmd = $perl . $lib . _quote_args($args) . " $test $redir";
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=5uBRup2VXZ&a=cc_unsubscribe
More information about the perl-devel
mailing list