diff --git a/lib/executor.js b/lib/executor.js index aa435fb96..a20451b1b 100644 --- a/lib/executor.js +++ b/lib/executor.js @@ -17,6 +17,7 @@ var Executor = function (capturedBrowsers, config, emitter) { if (capturedBrowsers.areAllReady(nonReady)) { log.debug('All browsers are ready, executing') + log.debug('Captured %s browsers', capturedBrowsers.length) executionScheduled = false capturedBrowsers.clearResults() capturedBrowsers.setAllToExecuting() @@ -44,7 +45,11 @@ var Executor = function (capturedBrowsers, config, emitter) { pendingCount-- if (!pendingCount) { - emitter.emit('run_complete', runningBrowsers, runningBrowsers.getResults()) + // Ensure run_complete is emitted in the next tick + // so it is never emitted before browser_complete + setTimeout(function () { + emitter.emit('run_complete', runningBrowsers, runningBrowsers.getResults()) + }, 0) } }