[perl] Fix t/comp/parser.t not to load system modules

Petr Pisar ppisar at fedoraproject.org
Fri Apr 4 12:56:39 UTC 2014


commit 616346850804bb592b52843ae6aef43a3ed784db
Author: Petr Písař <ppisar at redhat.com>
Date:   Fri Apr 4 13:52:32 2014 +0200

    Fix t/comp/parser.t not to load system modules
    
    The fact that "perl" tests (t/base/*.t, t/comp/*.t, t/run/*.t) are run
    without -I is intentional. One has to fix each of them.

 ...t-comp-parser.t-get-the-correct-libraries.patch |   49 ++++++++++++++++++++
 perl.spec                                          |   11 ++++-
 2 files changed, 59 insertions(+), 1 deletions(-)
---
diff --git a/perl-5.18.2-Make-t-comp-parser.t-get-the-correct-libraries.patch b/perl-5.18.2-Make-t-comp-parser.t-get-the-correct-libraries.patch
new file mode 100644
index 0000000..df686f6
--- /dev/null
+++ b/perl-5.18.2-Make-t-comp-parser.t-get-the-correct-libraries.patch
@@ -0,0 +1,49 @@
+From 56b960b25894b4b1e1f2ce0ff443c187860bdf76 Mon Sep 17 00:00:00 2001
+From: "Craig A. Berry" <craigberry at mac.com>
+Date: Sun, 30 Jun 2013 21:09:21 -0500
+Subject: [PATCH] Make t/comp/parser.t get the correct libraries.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In principle it shouldn't need libraries, but an eval of a utf8
+constant now triggers automatic loading of utf8.pm, and it was
+looking for that in the usual @INC locations set at configuration
+time.  Which just might match an installed perl rather than the
+perl being tested.  So make sure we get the correct libraries.
+
+Petr Pisar: Ported to 5.18.2
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ t/comp/parser.t | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/t/comp/parser.t b/t/comp/parser.t
+index 4f2da90..f64d5ce 100644
+--- a/t/comp/parser.t
++++ b/t/comp/parser.t
+@@ -3,6 +3,11 @@
+ # Checks if the parser behaves correctly in edge cases
+ # (including weird syntax errors)
+ 
++BEGIN {
++    @INC = qw(. ../lib);
++    chdir 't';
++}
++
+ print "1..155\n";
+ 
+ sub failed {
+@@ -462,7 +467,7 @@ like $@, "^Identifier too long at ", 'ident buffer overflow';
+ 
+ # bug #74022: Loop on characters in \p{OtherIDContinue}
+ # This test hangs if it fails.
+-eval chr 0x387;
++eval chr 0x387;   # forces loading of utf8.pm
+ is(1,1, '[perl #74022] Parser looping on OtherIDContinue chars');
+ 
+ # More awkward tests for #line. Keep these at the end, as they will screw
+-- 
+1.9.0
+
diff --git a/perl.spec b/perl.spec
index 285e6bd..f2ea8e8 100644
--- a/perl.spec
+++ b/perl.spec
@@ -30,7 +30,7 @@
 Name:           perl
 Version:        %{perl_version}
 # release number must be even higher, because dual-lived modules will be broken otherwise
-Release:        296%{?dist}
+Release:        297%{?dist}
 Epoch:          %{perl_epoch}
 Summary:        Practical Extraction and Report Language
 Group:          Development/Languages
@@ -118,6 +118,10 @@ Patch21:        perl-5.19.2-Fix-using-regexes-with-multiple-code-blocks.patch
 # CPAN RT#85015
 Patch22:        perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch 
 
+# Fix t/comp/parser.t not to load system modules, bug #1084399, RT#121579,
+# in upstream after 5.19.1
+Patch23:        perl-5.18.2-Make-t-comp-parser.t-get-the-correct-libraries.patch
+
 # Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048
 Patch200:       perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch
 
@@ -1904,6 +1908,7 @@ tarball from perl.org.
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
+%patch23 -p1
 %patch200 -p1
 %patch201 -p1
 
@@ -1930,6 +1935,7 @@ perl -x patchlevel.h \
     'Fedora Patch20: Reap child in case where exception has been thrown (RT#114722)' \
     'Fedora Patch21: Fix using regular expressions containing multiple code blocks (RT#117917)' \
     'Fedora Patch22: Document Math::BigInt::CalcEmu requires Math::BigInt (CPAN RT#85015)' \
+    'Fedora Patch23: Fix t/comp/parser.t not to load system modules (RT#121579)' \
     'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \
     'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \
     %{nil}
@@ -3604,6 +3610,9 @@ sed \
 
 # Old changelog entries are preserved in CVS.
 %changelog
+* Fri Apr 04 2014 Petr Pisar <ppisar at redhat.com> - 4:5.18.2-297
+- Fix t/comp/parser.t not to load system modules (bug #1084399)
+
 * Mon Feb 03 2014 Petr Pisar <ppisar at redhat.com> - 4:5.18.2-296
 - Move macro files into %%{_rpmconfigdir}/macros.d
 


More information about the scm-commits mailing list