All changes made work so far. ...that's the good news. The bad news is Windows is still fighting against you.
I won't go into Perl on Windows' fork, exec, and signal emulation but suffice it to say it doesn't work correctly; Right now, your tests leave zombie redis-server processes behind and/or hang. In most of your tests, issuing a shutdown command to redis before calling $server->stop is enough but that wouldn't work for t/transactions.t where you lose the connection before exit. ...and even with that change, Windows bungles kill SIGTERM, $self->{pid}; and the tests are marked failures. kill 0, $self->{pid};, despite being incorrect, works except in t/transactions.t where it still just hangs.
And, as written, timeouts don't work on Windows so you could skip these as you do on Solaris.
Hi!
All changes made work so far. ...that's the good news. The bad news is Windows is still fighting against you.
I won't go into Perl on Windows' fork, exec, and signal emulation but suffice it to say it doesn't work correctly; Right now, your tests leave zombie redis-server processes behind and/or hang. In most of your tests, issuing a shutdown command to redis before calling
$server->stop
is enough but that wouldn't work fort/transactions.t
where you lose the connection before exit. ...and even with that change, Windows bungleskill SIGTERM, $self->{pid};
and the tests are marked failures.kill 0, $self->{pid};
, despite being incorrect, works except int/transactions.t
where it still just hangs.And, as written, timeouts don't work on Windows so you could skip these as you do on Solaris.