Fixes having to hit CTRL + C when doing serial tests with Socket.io#148
Fixes having to hit CTRL + C when doing serial tests with Socket.io#148ignacioiglesias wants to merge 2 commits intovisionmedia:masterfrom
Conversation
I was doing some tests using Socket.io and even though everything ran okay except that I had to manually exit Expresso using ctrl + c. I tried using `process.exit` inside the `else` block but that would cause Expresso to output `Failure: Only 1 of 3 suites have been started`. Using a timeout seems to fix it despite the fact that I'm using 0 as time. Not really sure how this works, but it does :)
|
Hi, When do we think this pull request will be merged, as well as a release? Currently this bug is blocking me from using expresso in a CI because it locks the worker up. See http://travis-ci.org/#!/AutomatedTester/powerball-platform/builds as an example |
|
Like @AutomatedTester has said, this is a pretty annoying issue for us at travis-ci.org. Some otherwise good test suites may take up to 10-30 minutes (depending on the timeout value) to be killed after they get stuck because of this bug. |
|
Hey guys, just out of curiosity which versions of Node are you using? |
|
it's not really a bug, it's just an event-loop gotcha. It can only be "fixed" if we specify that each test is done and then exit manually. the successor to expresso does this |
|
Is that successor the |
|
I am using Node 4.12 as that was the stable version up to a couple weeks On Thu, Nov 10, 2011 at 11:21 PM, Juan Ignacio Iglesias <
|
|
expresso doesn't make you notify it when you're done (unfortunately) so we can't really auto-exit unless we add that and everyone updates all the tests. I'll release mocha soon when I have some time to finish it, there's an interface very similar to expresso so if anyone wants to migrate it should be pretty painless |
|
Uhm, not sure if I understood… |
|
beforeExit doesn't really help but yeah when --serial next() is enough, but not when running parallel |
|
Sorry for my late answer. I think that the problem was having to hit CTRL + C when testing in Of course that, without Anyway, feel free to close this :) Thanks for your help, TJ! |
I was doing some tests using Socket.io and even though everything ran okay except that I had to manually exit Expresso using ctrl + c.
I tried using
process.exitinside theelseblock but that would cause Expresso to outputFailure: Only 1 of 3 suites have been started. Using a timeout seems to fix it despite the fact that I'm using 0 as time. Not really sure how this works, but it does :)Edit: The first answer of "Why does setTimeout(fn, 0) sometimes help?" provides a good explanation.
BTW, this it my first push request, I hope it helps.