Wait for all browser to completet beforer cleaning up StateManager #760
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem:
For test executions with a small number of tests but was triggered to run with many browsers, it's often the case that not every single browser will receive a test when running with load-balance.
The existing
if (this.stateManager.getCompletedBrowser() === browsersStarted.size) {
will prematurely reset the stateManager when lingering browsers has not exited. This causes the run to fail with 'No ModuleQueue set' error when a browser that took longer to instantiate sends agetNextModule
eventResolution:
By adding
if (completedBrowser === browserCount) {
, we will wait for all browsers to exit prior to resetting the stateManager. Preventing us from hitting 'No ModuleQueue set' error.