-
Notifications
You must be signed in to change notification settings - Fork 13.3k
run-pass tests (and possibly others) continue passing when terminated by signal on OSX #10062
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Investigated a bit and found libuv calls the process exit callback with an exit status and termination signal if they are present, as expected from However, on OSX at least I added an assertion to the exit callback to confirm, which asserted that
A possible solution could be to modify This same behaviour is exhibited on Linux systems, but the test ends up considered failed, as it should, somehow on Linux with an explicit failure at |
Linux segfaults also fail a run-fail because of |
When I originally wrote the process bindings to libuv, I was dubious that I was doing the correct thing in propagating the child's error status, so it could very well be doing the wrong thing. What we should be doing, however, is somehow exposing this information via the |
It could be worth exposing I've had a hunt around on Linux and a segfaulted test takes a completely different code path to get that non-zero exit status - one that I haven't yet found... It doesn't pass up exit status via libuv's exit callback, or any of the Might switch into hunting the other direction - starting at runtest and going deeper through the call stack rather than trying to find its deepest point first. |
On OSX (10.9), but the following is possible in a run-pass test, and will result in a "pass":
This should generally be fine as there is probably not much of an expectation that tests will segfault, but it's not ideal to be missing segfaults and other such exceptions (SIGFPE perhaps?) in the testsuite.
On an x86_64 Linux system (Ubuntu 12.04 LTS, git master), a segfault does fail the test.
The text was updated successfully, but these errors were encountered: