Skip Menu |

This queue is for tickets about the Event-Lib CPAN distribution.

Report information
The Basics
Id: 35355
Status: open
Priority: 0/
Queue: Event-Lib

People
Owner: Nobody in particular
Requestors: ANDK [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.03
Fixed in: (no value)



Subject: It seems that Test::Harness 3.00 broke Event::Lib
I think the following statistics indicate pretty clearly that Test::Harness 3.00 broke Event::Lib. FAIL 1367251 meta:date[April 23, 2008 12:39] mod:Test::Harness[3.10] FAIL 1367021 meta:date[April 23, 2008 11:35] mod:Test::Harness[3.10] FAIL 1365149 meta:date[April 22, 2008 23:20] mod:Test::Harness[3.10] FAIL 1351528 meta:date[April 20, 2008 07:50] mod:Test::Harness[3.10] FAIL 1320469 meta:date[April 15, 2008 16:24] mod:Test::Harness[3.10] FAIL 1302052 meta:date[April 12, 2008 07:06] mod:Test::Harness[3.10] FAIL 1285909 meta:date[April 8, 2008 22:47] mod:Test::Harness[3.10] FAIL 1274552 meta:date[April 7, 2008 01:05] mod:Test::Harness[3.10] FAIL 1269151 meta:date[April 5, 2008 18:54] mod:Test::Harness[3.10] FAIL 1262858 meta:date[April 4, 2008 22:17] mod:Test::Harness[3.10] FAIL 1260223 meta:date[April 4, 2008 06:14] mod:Test::Harness[3.10] FAIL 1254101 meta:date[April 3, 2008 05:23] mod:Test::Harness[3.10] FAIL 1243443 meta:date[March 31, 2008 23:28] mod:Test::Harness[3.10] FAIL 1237281 meta:date[March 30, 2008 15:11] mod:Test::Harness[3.10] FAIL 1228743 meta:date[March 28, 2008 09:48] mod:Test::Harness[3.10] FAIL 1224655 meta:date[March 27, 2008 02:47] mod:Test::Harness[3.10] FAIL 1213562 meta:date[March 24, 2008 19:29] mod:Test::Harness[3.10] FAIL 1201605 meta:date[March 21, 2008 14:20] mod:Test::Harness[3.10] FAIL 1193156 meta:date[March 19, 2008 22:04] mod:Test::Harness[3.10] FAIL 1182228 meta:date[March 17, 2008 17:59] mod:Test::Harness[3.10] FAIL 1174669 meta:date[March 16, 2008 06:34] mod:Test::Harness[3.10] FAIL 1168535 meta:date[March 14, 2008 19:38] mod:Test::Harness[3.10] FAIL 1163647 meta:date[March 13, 2008 13:06] mod:Test::Harness[3.10] FAIL 1160019 meta:date[March 12, 2008 21:31] mod:Test::Harness[3.10] FAIL 1156108 meta:date[March 12, 2008 07:06] mod:Test::Harness[3.10] FAIL 1153401 meta:date[March 11, 2008 18:49] mod:Test::Harness[3.10] FAIL 1145076 meta:date[March 10, 2008 11:17] mod:Test::Harness[3.10] FAIL 1140498 meta:date[March 9, 2008 13:06] mod:Test::Harness[3.10] PASS 1140426 meta:date[March 9, 2008 12:53] mod:Test::Harness[2.64] FAIL 1135627 meta:date[March 8, 2008 17:22] mod:Test::Harness[3.10] FAIL 1128964 meta:date[March 7, 2008 21:52] mod:Test::Harness[3.10] FAIL 1126092 meta:date[March 7, 2008 12:10] mod:Test::Harness[3.10] FAIL 1120984 meta:date[March 6, 2008 15:22] mod:Test::Harness[3.10] FAIL 1117242 meta:date[March 6, 2008 04:06] mod:Test::Harness[3.10] FAIL 1109157 meta:date[March 4, 2008 20:34] mod:Test::Harness[3.10] FAIL 1103022 meta:date[March 3, 2008 23:37] mod:Test::Harness[3.10] FAIL 1100823 meta:date[March 3, 2008 14:51] mod:Test::Harness[3.10] PASS 1096884 meta:date[March 2, 2008 15:02] mod:Test::Harness[2.64] PASS 1092667 meta:date[March 1, 2008 14:14] mod:Test::Harness[2.64] FAIL 979074 meta:date[January 20, 2008 18:45] mod:Test::Harness[3.07] FAIL 896151 meta:date[December 27, 2007 04:55] mod:Test::Harness[3.06] FAIL 881980 meta:date[December 22, 2007 00:44] mod:Test::Harness[3.06] FAIL 876475 meta:date[December 20, 2007 22:32] mod:Test::Harness[3.06] FAIL 823996 meta:date[November 30, 2007 23:17] mod:Test::Harness[3.03] FAIL 816798 meta:date[November 29, 2007 01:14] mod:Test::Harness[3.03] FAIL 760443 meta:date[November 11, 2007 20:55] mod:Test::Harness[3.00] FAIL 746907 meta:date[November 6, 2007 21:14] mod:Test::Harness[3.00] PASS 732520 meta:date[November 1, 2007 14:48] mod:Test::Harness[2.64] PASS 713213 meta:date[October 24, 2007 22:16] mod:Test::Harness[2.64] PASS 706870 meta:date[October 22, 2007 21:25] mod:Test::Harness[2.64] PASS 674071 meta:date[October 6, 2007 09:20] mod:Test::Harness[2.64] PASS 665973 meta:date[October 2, 2007 10:20] mod:Test::Harness[2.64] PASS 657822 meta:date[September 24, 2007 22:52] mod:Test::Harness[2.64] PASS 614702 meta:date[September 7, 2007 06:17] mod:Test::Harness[2.64] PASS 555671 meta:date[August 5, 2007 10:48] mod:Test::Harness[] FAIL 550871 meta:date[July 29, 2007 11:42] mod:Test::Harness[] PASS 550804 meta:date[July 29, 2007 09:40] mod:Test::Harness[2.64] Let me know if you need further information. Thanks,
From: Pascal [...] Rockford.Com
The enclosed patch fixes the problem at least on my linux box.
Subject: Event-Lib-test.patch
--- t/20_signal.t~ 2007-07-29 13:02:37.000000000 +0200 +++ t/20_signal.t 2010-08-13 18:12:38.718536711 +0200 @@ -8,22 +8,29 @@ use POSIX; +pipe my ($r, $w); + my $pid = fork; skip($!, 1) if not defined $pid; if ($pid) { + close $w; # so the child can call event_init() sleep 1; kill SIGHUP => $pid; ok(1); + while( defined(my $l=<$r>) ) { + ok(0+$l); + } wait; } else { + close $r; event_init; - signal_new(SIGHUP, sub { ok(1); exit; })->add; + signal_new(SIGHUP, sub { print $w "1\n"; exit; })->add; # we give it ten seconds to receive the signal event_one_loop(10); - ok(0); + print $w "0\n"; exit; } --- t/51_cleanup_persistent.t~ 2007-07-29 13:02:37.000000000 +0200 +++ t/51_cleanup_persistent.t 2010-08-13 18:10:53.961547173 +0200 @@ -22,6 +22,22 @@ use Test; BEGIN { plan tests => 6; } +my ($r, $w); + +sub chld_ok ($;$$) { + print $w join("\t", @_)."\n"; +} + +sub prnt_ok { + while( defined(my $l=<$r>) ) { + chomp $l; + my @l=split /\t/, $l; + ok($l[0], (@l>1 ? $l[1] : ()), (@l>2 ? $l[2] : ())); + } +} + +pipe $r, $w; + my $pid = fork; if (not defined $pid) { skip("couldn't fork: $!", 1) for 1 .. 6; @@ -29,36 +45,46 @@ } if ($pid) { + close $w; # so the child can call event_init() sleep 1; kill SIGHUP => $pid; ok(1); + prnt_ok; wait; } else { + close $r; event_init; MyEvent->new(SIGHUP, sub {})->add; - ok($_DESTROY, "not called"); + chld_ok($_DESTROY, "not called"); event_one_loop; - ok($_DESTROY, "not called", "Event::Lib::signal::DESTROY erroneously called"); + chld_ok($_DESTROY, "not called", "Event::Lib::signal::DESTROY erroneously called"); exit; } +close $r; $_DESTROY = "not called"; +pipe $r, $w; + $pid = fork; skip($!, 2) if not defined $pid; if ($pid) { + close $w; # so the child can call event_init() sleep 1; kill SIGHUP => $pid; ok(1); + prnt_ok; wait; } else { + close $r; event_init; MyEvent->new(SIGHUP, sub {shift->remove})->add; - ok($_DESTROY, "not called"); + chld_ok($_DESTROY, "not called"); event_one_loop; - ok($_DESTROY, "called", "Event::Lib::signal::DESTROY called too late"); + chld_ok($_DESTROY, "called", "Event::Lib::signal::DESTROY called too late"); exit; } +close $r;