commit ea29d95930d4d0048fdd4ee94361b1a11fd45abb Author: Petr Písař <ppisar@xxxxxxxxxx> Date: Fri Sep 5 16:48:40 2014 +0200 Fix a race in t/10_resolver.t ...alive-0.271-Fix-a-race-in-t-10_resolver.t.patch | 78 ++++++++++++++++++++ perl-POE-Component-Client-Keepalive.spec | 8 ++- 2 files changed, 85 insertions(+), 1 deletions(-) --- diff --git a/POE-Component-Client-Keepalive-0.271-Fix-a-race-in-t-10_resolver.t.patch b/POE-Component-Client-Keepalive-0.271-Fix-a-race-in-t-10_resolver.t.patch new file mode 100644 index 0000000..e3e3be6 --- /dev/null +++ b/POE-Component-Client-Keepalive-0.271-Fix-a-race-in-t-10_resolver.t.patch @@ -0,0 +1,78 @@ +From 499ac9b0e8a1b22734ad11286639cec5974286c6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@xxxxxxxxxx> +Date: Fri, 5 Sep 2014 16:39:27 +0200 +Subject: [PATCH] Fix a race in t/10_resolver.t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +'second request honored asynchronously' t/10_resolver.t fails on +a very slow machine. + +There is a race between reusing a TCP connection and a keep-a-live +timeout set to 120 s in the library. The bug can be reproduced by +adding "sleep 130;" into t/10_resolver.t at beginning of got_conn() +subroutine. + +This patch will kips the test if test run time exceeds the timeout. + +Signed-off-by: Petr Písař <ppisar@xxxxxxxxxx> +--- + t/10_resolver.t | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/t/10_resolver.t b/t/10_resolver.t +index bfe9d8c..17122dd 100644 +--- a/t/10_resolver.t ++++ b/t/10_resolver.t +@@ -22,6 +22,9 @@ use TestServer; + use constant PORT => int(rand(65535-2000)) + 2000; + TestServer->spawn(PORT); + ++my $timeout = 120; ++my $start; ++ + POE::Session->create( + inline_states => { + _child => sub { }, +@@ -42,6 +45,7 @@ POE::Session->create( + + sub start_with { + my $heap = $_[HEAP]; ++ $start = time; + + $_[KERNEL]->alias_set ('WITH'); + $heap->{cm} = POE::Component::Client::Keepalive->new( +@@ -54,6 +58,7 @@ sub start_with { + port => PORT, + event => "got_conn", + context => "first", ++ timeout => $timeout, + ); + } + sub start_without { +@@ -70,6 +75,7 @@ sub start_without { + port => PORT, + event => "got_conn", + context => "second", ++ timeout => $timeout, + ); + } + +@@ -79,7 +85,12 @@ sub got_conn{ + # The delete() ensures only one copy of the connection exists. + my $connection = delete $stuff->{connection}; + my $which = $stuff->{context}; +- ok(defined($connection), "$which request honored asynchronously"); ++ SKIP: { ++ if ($which eq 'second' and time - $start >= $timeout) { ++ skip "Test run time exceded keepalive timeout $timeout s", 1; ++ } ++ ok(defined($connection), "$which request honored asynchronously"); ++ } + ok(not (defined ($stuff->{'from_cache'})), "$which request not from cache"); + + if ($which eq 'first') { +-- +1.9.3 + diff --git a/perl-POE-Component-Client-Keepalive.spec b/perl-POE-Component-Client-Keepalive.spec index 95d396f..a2ebf29 100644 --- a/perl-POE-Component-Client-Keepalive.spec +++ b/perl-POE-Component-Client-Keepalive.spec @@ -3,12 +3,14 @@ Name: perl-POE-Component-Client-Keepalive # Keep four digits to stay above the unfortunate 0.0901, # so that epoch need not be changed. Version: %{real_ver}0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Manages and keeps alive client connections Group: Development/Libraries License: GPL+ or Artistic URL: http://search.cpan.org/dist/POE-Component-Client-Keepalive Source0: http://search.cpan.org/CPAN/authors/id/R/RC/RCAPUTO/POE-Component-Client-Keepalive-%{real_ver}.tar.gz +# Fix a race in t/10_resolver.t, bug #1136851, CPAN RT#98644 +Patch0: POE-Component-Client-Keepalive-0.271-Fix-a-race-in-t-10_resolver.t.patch BuildArch: noarch # core BuildRequires: perl(constant) @@ -46,6 +48,7 @@ probably be silly. %prep %setup -q -n POE-Component-Client-Keepalive-%{real_ver} +%patch0 -p1 chmod -c -x mylib/* t/* for test in t/release-pod-syntax.t \ t/release-pod-coverage.t \ @@ -76,6 +79,9 @@ make test %{_mandir}/man3/*.3* %changelog +* Fri Sep 05 2014 Petr Pisar <ppisar@xxxxxxxxxx> - 0.2710-10 +- Fix a race in t/10_resolver.t (bug #1136851) + * Fri Aug 29 2014 Jitka Plesnikova <jplesnik@xxxxxxxxxx> - 0.2710-9 - Perl 5.20 rebuild -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl perl-devel mailing list perl-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/perl-devel