X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Fauthor%2Fhttp-server.t;fp=t%2Fauthor%2Fhttp-server.t;h=2927f18151408d64b1ac5a9113350956a2131a19;hp=0edba014283f6b1808b28ace93ec761d370ec313;hb=8b260bdfc64dd8bc79fdc2af37f3ca3d1e33ad72;hpb=c9373e697672ade084d08684f95ae2fcd83bfd88 diff --git a/t/author/http-server.t b/t/author/http-server.t index 0edba01..2927f18 100644 --- a/t/author/http-server.t +++ b/t/author/http-server.t @@ -77,6 +77,15 @@ rmtree "$FindBin::Bin/../../t/tmp" if -d "$FindBin::Bin/../../t/tmp"; is( $return, 0, 'live tests' ); +# kill 'INT' doesn't exist in Windows, so to prevent child hanging, +# this process will need to commit seppuku to clean up the children. +if ($^O eq 'MSWin32') { + # Furthermore, it needs to do it 'politely' so that TAP doesn't + # smell anything 'dubious'. + require Win32::Process; # core in all versions of Win32 Perl + Win32::Process::KillProcess($$, $return); +} + sub wait_port_timeout { my ($port, $timeout) = @_;