[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