Some unixy systems don't have /tmp (android, blackberry 10) which was causing tests in POE to fail.
Most of these fixes are merely reducing timeouts once an expected condition is met. The long wait-for-failure timeout isn't as important once a test has passed, but turning off the timer entirely isn't good either. There could be spurious events that we don't want, and waiting a little extra time gives us some confidence they aren't happening.
Windows locks files and directories while they're open. It's not possible to unlink() them in this state. The file reset test tried to unlink() a test log to reset it. The unlink() was silently failing, and the test program was waiting indefinitely for the reset. Added a SKIP section around those tests so they don't run on Windows. Fixes welcome, because I'd really like Windows users to be able to detect file resets. Replaced the "skip_all" plan when networking isn't available with a SKIP section around the network-based tests. Filesystem-based tests will still run when networking isn't available... unless the tests are running on Windows.
I haven't been able to reproduce the intermittent test timeout that Todd Rinaldo reported on the RT ticket. To help unstall the ticket, I've added timing information so cpantesters.org etc. might shed more light on the issue.
Philip Gwyn suggests it might be a buffering issue. Make sure the child process' STDOUT and STDERR are unbuffered, and close them in a consistent order.