]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/ipc.t
ipc: fix IO::FDPass use with a worker limit of 1
[public-inbox.git] / t / ipc.t
diff --git a/t/ipc.t b/t/ipc.t
index d2b6ad4f4b17f376e97d7f9c5c8456c2c3371513..fd2908095553b57bd33e9f9690f738d18e5449f2 100644 (file)
--- a/t/ipc.t
+++ b/t/ipc.t
@@ -171,13 +171,17 @@ is($warn[2], $warn[1], 'worker did not die');
 $SIG{__WARN__} = 'DEFAULT';
 is($ipc->wq_workers_start('wq', 1), $$, 'workers started again');
 is($ipc->wq_workers, 1, '1 worker started');
-$ipc->wq_worker_incr;
-is($ipc->wq_workers, 2, 'worker count bumped');
-$ipc->wq_worker_decr;
-$ipc->wq_worker_decr_wait(10);
-is($ipc->wq_workers, 1, 'worker count lowered');
-is($ipc->wq_workers(2), 2, 'worker count set');
-is($ipc->wq_workers, 2, 'worker count stayed set');
+SKIP: {
+       $ipc->WQ_MAX_WORKERS > 1 or
+               skip 'Inline::C or Socket::MsgHdr not available', 4;
+       $ipc->wq_worker_incr;
+       is($ipc->wq_workers, 2, 'worker count bumped');
+       $ipc->wq_worker_decr;
+       $ipc->wq_worker_decr_wait(10);
+       is($ipc->wq_workers, 1, 'worker count lowered');
+       is($ipc->wq_workers(2), 2, 'worker count set');
+       is($ipc->wq_workers, 2, 'worker count stayed set');
+}
 $ipc->wq_close;
 is($ipc->wq_workers, undef, 'workers undef after close');