Bug#685000: unblock: libio-async-perl/0.51-3
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Please unblock package libio-async-perl:
unblock libio-async-perl/0.51-3
0.51-3 fixes the RC bug #680790.
It adds a patch from upstream, that's already included in 0.51_001,
0.51_002 and 0.52.
Changelog entry:
libio-async-perl (0.51-3) unstable; urgency=low
* Add patch subsecond.patch, backported from upstream: subsecond timer
tests are skipped unless unit-tests require them, since they are not
reliable for all Loop implementations. Thanks to Paul "LeoNerd" Evans
(upstream author) for pointing me to the fix. (Closes: #680790)
-- gregor herrmann <gregoa@debian.org> Wed, 15 Aug 2012 17:55:42 +0200
Full debdiff attached.
Thanks in advance,
gregor
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAEBCAAGBQJQK8syAAoJELs6aAGGSaoGs28P/RBt7DQM2c3rvHk+ucc/zkxh
dEZaPOaO0f57GxfEAxCcXPj4MDoWswknPvPSg39DH4eidewLeOuz597QATcfE2Qd
s0dD0Lc8+V1ASx4oSVDl+L2SGGQXtFc+tOyDBy7uMckMzJt5UZDbSvmq/ZR2y2lM
HNvZaK1G8HHhIwU2J9usJ+AnlB+qnC5mR3zyPlbBFB9nrt+d3tVxAjoFvFvJiECS
3r+QtdLw2H4NF6OGAXMAh98pG9meLG27cHycuQ2Y4LwdUvkjQ+VSUwafdxvaGvXF
Wn6rWS3tkQ5yEIeBhymp2xTDfBvRAi6UrK3syMMkdIhLgQV7QlMdaNfF+SWRTetV
+Kf2NP6WCtwSPG6/4eJf5zMIyFmntGJM7YYi+ZjYEUrNPf7dwodURjcaYI6ORFlG
QS8sWu27Jq5vJ3CMXi/e4aQxA9rif5J/+qrPgcSMDSZed5BvNege1HVcl6dKdeuv
wPP2gADCbJNrOrFV+zoi0vrhxvzJd+hB7cYXde0Mx67r7Di3bzGuAp3DTr4i+ROj
0ntb6mOILp2DBQ2VKkqWAXnwhHV+VPCp5jpF3jRM+pXRSupVWG9cLN6bIbLgpTxm
21Ap3E4WgE4aElGys5xwxOhgmaM/ig0FqR26Q8i7L6VG4ny6p3DRUkA757Hd+FgC
IXUDEER6quPGdSUcSMBq
=bgCT
-----END PGP SIGNATURE-----
diff -Nru libio-async-perl-0.51/debian/changelog libio-async-perl-0.51/debian/changelog
--- libio-async-perl-0.51/debian/changelog 2012-07-08 23:19:29.000000000 +0200
+++ libio-async-perl-0.51/debian/changelog 2012-08-15 17:56:05.000000000 +0200
@@ -1,3 +1,12 @@
+libio-async-perl (0.51-3) unstable; urgency=low
+
+ * Add patch subsecond.patch, backported from upstream: subsecond timer
+ tests are skipped unless unit-tests require them, since they are not
+ reliable for all Loop implementations. Thanks to Paul "LeoNerd" Evans
+ (upstream author) for pointing me to the fix. (Closes: #680790)
+
+ -- gregor herrmann <gregoa@debian.org> Wed, 15 Aug 2012 17:55:42 +0200
+
libio-async-perl (0.51-2) unstable; urgency=low
* Team upload.
diff -Nru libio-async-perl-0.51/debian/patches/series libio-async-perl-0.51/debian/patches/series
--- libio-async-perl-0.51/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ libio-async-perl-0.51/debian/patches/series 2012-08-15 17:56:05.000000000 +0200
@@ -0,0 +1 @@
+subsecond.patch
diff -Nru libio-async-perl-0.51/debian/patches/subsecond.patch libio-async-perl-0.51/debian/patches/subsecond.patch
--- libio-async-perl-0.51/debian/patches/subsecond.patch 1970-01-01 01:00:00.000000000 +0100
+++ libio-async-perl-0.51/debian/patches/subsecond.patch 2012-08-15 17:56:05.000000000 +0200
@@ -0,0 +1,73 @@
+Origin: upstream, http://bazaar.leonerd.org.uk/perl/IO-Async/, r1044
+Bug: https://rt.cpan.org/Ticket/Display.html?id=78892
+Bug-Debian: http://bugs.debian.org/680790
+Reviewed-by: gregor herrmann <gregoa@debian.org>
+Applied-Upstream: yes, in bzr and since 0.51_001
+
+revno 1044
+From: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
+Date: Tue 2012-06-26 23:58:58 +0100
+Branch-Nick: IO-Async
+Subject: Allow Loops to declare for unit-test purposes that they can't
+ handle subsecond timers accurately, so skip the counter tests
+
+---
+ lib/IO/Async/Loop.pm | 4 ++++
+ lib/IO/Async/LoopTests.pm | 32 ++++++++++++++++++--------------
+ 2 files changed, 22 insertions(+), 14 deletions(-)
+
+--- a/lib/IO/Async/Loop.pm
++++ b/lib/IO/Async/Loop.pm
+@@ -16,6 +16,10 @@
+ # Base value but some classes might override
+ use constant _CAN_ON_HANGUP => 0;
+
++# Some Loop implementations do not accurately handle sub-second timers.
++# This only matters for unit tests
++use constant _CAN_SUBSECOND_ACCURATELY => 1;
++
+ use Carp;
+
+ use IO::Socket (); # empty import
+--- a/lib/IO/Async/LoopTests.pm
++++ b/lib/IO/Async/LoopTests.pm
+@@ -464,21 +464,25 @@
+ }
+ } 1.5, 2.5, 'loop_once(5) while waiting for timer';
+
+- # Check that short delays are achievable in one ->loop_once call
+- foreach my $delay ( 0.001, 0.01, 0.1 ) {
+- my $done;
+- my $count = 0;
+- my $start = time;
+-
+- $loop->enqueue_timer( delay => $delay, code => sub { $done++ } );
+-
+- while( !$done ) {
+- $loop->loop_once( 1 );
+- $count++;
+- last if time - $start > 5; # bailout
+- }
++ SKIP: {
++ skip "Unable to handle sub-second timers accurately", 3 unless $loop->_CAN_SUBSECOND_ACCURATELY;
++
++ # Check that short delays are achievable in one ->loop_once call
++ foreach my $delay ( 0.001, 0.01, 0.1 ) {
++ my $done;
++ my $count = 0;
++ my $start = time;
++
++ $loop->enqueue_timer( delay => $delay, code => sub { $done++ } );
+
+- is( $count, 1, "One ->loop_once(1) sufficient for a single $delay second timer" );
++ while( !$done ) {
++ $loop->loop_once( 1 );
++ $count++;
++ last if time - $start > 5; # bailout
++ }
++
++ is( $count, 1, "One ->loop_once(1) sufficient for a single $delay second timer" );
++ }
+ }
+
+ $cancelled_fired = 0;
Reply to: