forkを使うテストではTest2::IPCを使うといい
perlでforkを使うテストでは Test::SharedFork をuseしておくと安心なことが知られているが、最近その実装をみたところTest2がロードされていたら、そのIPC実装を使うように変わっていた。
よっていま、forkを使ったテストを新しく書くなら、直接Test2::IPCを使えばいいと思う。
use strict; use warnings; use Test2::IPC; use Test::More; my $pid = fork // die; if ($pid == 0) { is 1 + 1, 2; exit; } waitpid $pid, 0; done_testing;
実際、Mojo::IOLoop::Signalのテストでそうした。