[perl-IPC-Run] Address intermittent test failures and update dependencies

Paul Howarth pghmcfc at fedoraproject.org
Tue May 6 13:51:24 UTC 2014


commit 4e25c82a4125a6ab842c936aa2cff8dc93dc8e5f
Author: Paul Howarth <paul at city-fan.org>
Date:   Tue May 6 11:19:30 2014 +0100

    Address intermittent test failures and update dependencies
    
    - Address intermittent test failures (CPAN RT#20105, RH BZ#1094395)
    - Add runtime dependency on Data::Dumper
    - Add build dependency on IO::Tty for the test suite
    - Make %files list more explicit

 IPC-Run-0.92-RT20105.patch |   68 ++++++++++++++++++++++++++++++++++++++++++++
 perl-IPC-Run.spec          |   29 ++++++++++++++++--
 2 files changed, 93 insertions(+), 4 deletions(-)
---
diff --git a/IPC-Run-0.92-RT20105.patch b/IPC-Run-0.92-RT20105.patch
new file mode 100644
index 0000000..e508d57
--- /dev/null
+++ b/IPC-Run-0.92-RT20105.patch
@@ -0,0 +1,68 @@
+From 8e6730d0c0f3db2c89a0dad07f67082c7eb88321 Mon Sep 17 00:00:00 2001
+From: Slaven Rezic <slaven at rezic.de>
+Date: Sat, 28 Dec 2013 10:55:28 +0100
+Subject: [PATCH] fix pty.t test failures on linux
+
+---
+ t/pty.t |   12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/t/pty.t b/t/pty.t
+index 42591a4..6d99b21 100644
+--- a/t/pty.t
++++ b/t/pty.t
+@@ -141,14 +141,14 @@ $fd_map = _map_fds;
+ $h = start \@echoer, \$in, '>pty>', \$out;
+ $in  = "hello\n";
+ $? = 0;
+-pump $h until $out =~ /hello/;
++pump $h until $out =~ /hello\r?\n/;
+ ## We assume that the slave's write()s are atomic
+ $exp = qr/^(?:hello\r?\n){2}(?!\n)$/i;
+ $out =~ $exp ? ok( 1 ) : is( $out, $exp );
+ is( $in, '' );
+ $in  = "world\n";
+ $? = 0;
+-pump $h until $out =~ /world/;
++pump $h until $out =~ /world\r?\n/;
+ $exp = qr/^(?:hello\r?\n){2}(?:world\r?\n){2}(?!\n)$/i;
+ $out =~ $exp ? ok( 1 ) : is( $out, $exp );
+ is( $in, '' );
+@@ -165,7 +165,7 @@ $fd_map = _map_fds;
+ $h = start \@echoer, \$in, '>pty>', \$out, '2>', \$err;
+ $in  = "hello\n";
+ $? = 0;
+-pump $h until $out =~ /hello/ && $err =~ /HELLO/;
++pump $h until $out =~ /hello\r?\n/ && $err =~ /HELLO/;
+ $exp = qr/^hello\r?\n(?!\n)$/;
+ $out =~ $exp ? ok( 1 ) : is( $out, $exp );
+ $exp = qr/^HELLO\n(?!\n)$/;
+@@ -173,7 +173,7 @@ $err =~ $exp ? ok( 1 ) : is( $err, $exp );
+ is( $in, '' );
+ $in  = "world\n";
+ $? = 0;
+-pump $h until $out =~ /world/ && $err =~ /WORLD/;
++pump $h until $out =~ /world\r?\n/ && $err =~ /WORLD/;
+ $exp = qr/^hello\r?\nworld\r?\n(?!\n)$/;
+ $out =~ $exp ? ok( 1 ) : is( $out, $exp );
+ $exp = qr/^HELLO\nWORLD\n(?!\n)$/ ,
+@@ -192,14 +192,14 @@ $fd_map = _map_fds;
+ $h = start \@echoer, '<pty<', \$in, '>pty>', \$out;
+ $in  = "hello\n";
+ $? = 0;
+-pump $h until $out =~ /hello.*hello.*hello/is;
++pump $h until $out =~ /hello.*hello.*hello\r?\n/is;
+ ## We assume that the slave's write()s are atomic
+ $exp = qr/^(?:hello\r?\n){3}(?!\n)$/i;
+ $out =~ $exp ? ok( 1 ) : is( $out, $exp );
+ is( $in, '' );
+ $in  = "world\n";
+ $? = 0;
+-pump $h until $out =~ /world.*world.*world/is;
++pump $h until $out =~ /world.*world.*world\r?\n/is;
+ $exp = qr/^(?:hello\r?\n){3}(?:world\r?\n){3}(?!\n)$/i;
+ $out =~ $exp ? ok( 1 ) : is( $out, $exp );
+ is( $in, '' );
+-- 
+1.7.10.4
+
diff --git a/perl-IPC-Run.spec b/perl-IPC-Run.spec
index 2a2b9e5..f5cf420 100644
--- a/perl-IPC-Run.spec
+++ b/perl-IPC-Run.spec
@@ -1,12 +1,14 @@
 Name:           perl-IPC-Run
 Version:        0.92
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Perl module for interacting with child processes
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 URL:            http://search.cpan.org/dist/IPC-Run/
 Source0:        http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/IPC-Run-%{version}.tar.gz
+Patch0:         http://cpan.cpantesters.org/authors/id/S/SR/SREZIC/patches/IPC-Run-0.92-RT20105.patch
 BuildArch:      noarch
+BuildRequires:  perl
 BuildRequires:  perl(Carp)
 BuildRequires:  perl(constant)
 BuildRequires:  perl(Data::Dumper)
@@ -15,8 +17,10 @@ BuildRequires:  perl(ExtUtils::MakeMaker)
 BuildRequires:  perl(File::Spec)
 BuildRequires:  perl(IO::Handle)
 BuildRequires:  perl(IO::Pty) >= 1.08
+BuildRequires:  perl(IO::Tty)
 BuildRequires:  perl(Test::More) >= 0.47
 Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
+Requires:       perl(Data::Dumper)
 Requires:       perl(IO::Pty) >= 1.08
 
 %description
@@ -24,11 +28,17 @@ IPC::Run allows you run and interact with child processes using files,
 pipes, and pseudo-ttys. Both system()-style and scripted usages are
 supported and may be mixed. Likewise, functional and OO API styles are
 both supported and may be mixed.
+
 Various redirection operators reminiscent of those seen on common Unix
 and DOS command lines are provided.
 
 %prep
 %setup -q -n IPC-Run-%{version}
+
+# Address intermittent test failures (CPAN RT#20105, RH BZ#1094395)
+%patch0 -p1
+
+# Fix shellbangs
 for file in eg/run_daemon abuse/timers abuse/blocking_debug_with_sub_coprocess ; do
     perl -pi -e 's,^#!.*/perl,%{__perl}, if ($. == 1)' "$file"
 done
@@ -40,7 +50,9 @@ make %{?_smp_mflags}
 %install
 make pure_install DESTDIR=%{buildroot}
 find %{buildroot} -type f -name .packlist -exec rm -f {} \;
-%{_fixperms} %{buildroot}/*
+%{_fixperms} %{buildroot}
+
+# Remove Windows-only features that could add unnecessary dependencies
 rm -f %{buildroot}%{perl_vendorlib}/IPC/Run/Win32*.pm
 rm -f %{buildroot}%{_mandir}/man3/IPC::Run::Win32*.3*
 
@@ -50,10 +62,19 @@ make test
 %files
 %doc Changes LICENSE README TODO
 %doc abuse/ eg/
-%{perl_vendorlib}/*
-%{_mandir}/man3/*
+%{perl_vendorlib}/IPC/
+%{_mandir}/man3/IPC::Run.3pm*
+%{_mandir}/man3/IPC::Run::Debug.3pm*
+%{_mandir}/man3/IPC::Run::IO.3pm*
+%{_mandir}/man3/IPC::Run::Timer.3pm*
 
 %changelog
+* Tue May  6 2014 Paul Howarth <paul at city-fan.org> - 0.92-5
+- Address intermittent test failures (CPAN RT#20105, RH BZ#1094395)
+- Add runtime dependency on Data::Dumper
+- Add build dependency on IO::Tty for the test suite
+- Make %%files list more explicit
+
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.92-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 


More information about the scm-commits mailing list