-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Detox catches SIGINT and SIGTERM, causing long running subprocesses to never end #881
Labels
Comments
This is not good and should be handled quickly. |
Sure. |
noomorph
added a commit
that referenced
this issue
Aug 13, 2018
rotemmiz
pushed a commit
that referenced
this issue
Aug 13, 2018
Yes and no. But let's close. There is another problem to solve (cleaning artifacts junk that you get if you Ctrl+C the runner), however. |
Why is there only one catch for signals? Can't we catch and then "rethrow"? |
I have not found a way in Node.js so far :/ |
Node🤦♂️ |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Detox catches SIGINT and SIGTERM to be able to cleanup artifacts currently being recorded on Android emualtors (and probably more things) before termination
https://github.com/wix/detox/blob/master/detox/src/utils/onTerminate.js#L4
Not sure if this is an issue with node, but currently, when a user tries to terminate the test (ctrl+c), any long running subprocess/server will continue running and will need to be forcefully killed. Node will not inform/kill those subprocesses/servers.
I think we should drop
onTerminate
event altogether, and keep things dirty if a user stops, and act exactly like test runners expect tests to run. This is not ideal, but will keep us out of trouble.Instead of cleaning up upon
onTerminate
, we may cleanup the emulator from half baked artifacts duringdeviceDriver.acquireFreeDevice
.The text was updated successfully, but these errors were encountered: