Handle __run_test exit code on both linux and windows

One uses subprocesses, one just uses return codes