Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37736133
en ru br
Репозитории ALT
S:1.03-alt7
5.1: 1.03-alt2
www.altlinux.org/Changes

Группа :: Разработка/Perl
Пакет: perl-Event-Lib

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: Event-Lib-tests-fork.patch
Скачать


##
## ok() does not increment correctly when forked
## Test::Fork used for tests with fork: 20_signal.t, 51_cleanup_persistent.t
##
--- Event-Lib/t/20_signal.t	2009-07-13 14:19:19 +0400
+++ Event-Lib-1.03/t/20_signal.t	2009-07-13 15:49:39 +0400
@@ -1,5 +1,5 @@
-use Test;
-BEGIN { plan tests => 3 }
+use Test::More tests=>4;
+use Test::Fork;
 
 use Event::Lib;
 use Devel::Peek;
@@ -8,16 +8,7 @@
 
 use POSIX;
 
-my $pid = fork;
-skip($!, 1) if not defined $pid;
-
-if ($pid) {
-    # so the child can call event_init()
-    sleep 1;
-    kill SIGHUP => $pid;
-    ok(1);
-    wait;
-} else {
+my $pid = fork_ok(1, sub {
     event_init;
     signal_new(SIGHUP, sub { ok(1); exit; })->add;
     
@@ -25,6 +16,10 @@
     event_one_loop(10);
     ok(0);
     exit;
-}
-
+});
+skip($!, 1) if not defined $pid;
 
+# so the child can call event_init()
+sleep 1;
+kill SIGHUP => $pid;
+ok(1);
--- Event-Lib/t/51_cleanup_persistent.t	2009-07-13 13:25:06 +0400
+++ Event-Lib-1.03/t/51_cleanup_persistent.t	2009-07-13 15:53:22 +0400
@@ -19,46 +19,40 @@
 
 use Event::Lib;
 use POSIX qw/SIGHUP/;
-use Test;
-BEGIN { plan tests => 6; }
+use Test::More tests=>8;
+use Test::Fork;
 
-my $pid = fork;
-if (not defined $pid) {
-    skip("couldn't fork: $!", 1) for 1 .. 6;
-    exit;
-}
-
-if ($pid) {
-    # so the child can call event_init()
-    sleep 1;
-    kill SIGHUP => $pid;
-    ok(1);
-    wait;
-} else {
+my $pid = fork_ok(2, sub {
     event_init;
     MyEvent->new(SIGHUP, sub {})->add;
     ok($_DESTROY, "not called");
     event_one_loop;
-    ok($_DESTROY, "not called", "Event::Lib::signal::DESTROY erroneously called");
+    ok($_DESTROY, "not called");#, "Event::Lib::signal::DESTROY erroneously called");
+    exit;
+});
+if (not defined $pid) {
+    skip("couldn't fork: $!", 1) for 1 .. 6;
     exit;
 }
 
-$_DESTROY = "not called";
+# so the child can call event_init()
+sleep 1;
+kill SIGHUP => $pid;
+ok(1);
 
-$pid = fork;
-skip($!, 2) if not defined $pid;
+$_DESTROY = "not called";
 
-if ($pid) {
-    # so the child can call event_init()
-    sleep 1;
-    kill SIGHUP => $pid;
-    ok(1);
-    wait;
-} else {
+$pid = fork_ok(2,sub {
     event_init;
     MyEvent->new(SIGHUP, sub {shift->remove})->add;
     ok($_DESTROY, "not called");
     event_one_loop;
-    ok($_DESTROY, "called", "Event::Lib::signal::DESTROY called too late");
+    ok($_DESTROY, "called");#, "Event::Lib::signal::DESTROY called too late");
     exit;
-}
+});
+skip($!, 2) if not defined $pid;
+
+# so the child can call event_init()
+sleep 1;
+kill SIGHUP => $pid;
+ok(1);
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin