Skip to content

Commit

Permalink
Merge pull request #2127 from taskworld/feature-allow-browserDisconne…
Browse files Browse the repository at this point in the history
…ctTolerance-to-be-set-in-non-singleRun-mode

Allow browserDisconnectTolerance to be set in non-singleRun mode.
  • Loading branch information
dignifiedquire authored Jun 23, 2016
2 parents ce9038f + f6587dc commit 3480c14
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 22 deletions.
5 changes: 0 additions & 5 deletions lib/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -145,11 +145,6 @@ var normalizeConfig = function (config, configFilePath) {
config.autoWatch = false
}

if (!config.singleRun && config.browserDisconnectTolerance) {
log.debug('browserDisconnectTolerance set to 0, because of singleRun')
config.browserDisconnectTolerance = 0
}

if (helper.isString(config.reporters)) {
config.reporters = config.reporters.split(',')
}
Expand Down
42 changes: 25 additions & 17 deletions lib/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -292,26 +292,34 @@ Server.prototype._start = function (config, launcher, preprocess, fileList, webS
}
}

if (config.singleRun) {
self.on('browser_complete', function (completedBrowser) {
if (completedBrowser.lastResult.disconnected &&
completedBrowser.disconnectsCount <= config.browserDisconnectTolerance) {
self.log.info('Restarting %s (%d of %d attempts)', completedBrowser.name,
completedBrowser.disconnectsCount, config.browserDisconnectTolerance)
if (!launcher.restart(completedBrowser.id)) {
singleRunDoneBrowsers[completedBrowser.id] = true
emitRunCompleteIfAllBrowsersDone()
}
} else {
singleRunDoneBrowsers[completedBrowser.id] = true
self.on('browser_complete', function (completedBrowser) {
if (completedBrowser.lastResult.disconnected &&
completedBrowser.disconnectsCount <= config.browserDisconnectTolerance) {
self.log.info('Restarting %s (%d of %d attempts)', completedBrowser.name,
completedBrowser.disconnectsCount, config.browserDisconnectTolerance)

if (!launcher.restart(completedBrowser.id)) {
self.emit('browser_restart_failure', completedBrowser)
}
} else {
self.emit('browser_complete_with_no_more_retries', completedBrowser)
}
})

if (launcher.kill(completedBrowser.id)) {
// workaround to supress "disconnect" warning
completedBrowser.state = Browser.STATE_DISCONNECTED
}
if (config.singleRun) {
self.on('browser_restart_failure', function (completedBrowser) {
singleRunDoneBrowsers[completedBrowser.id] = true
emitRunCompleteIfAllBrowsersDone()
})
self.on('browser_complete_with_no_more_retries', function (completedBrowser) {
singleRunDoneBrowsers[completedBrowser.id] = true

emitRunCompleteIfAllBrowsersDone()
if (launcher.kill(completedBrowser.id)) {
// workaround to supress "disconnect" warning
completedBrowser.state = Browser.STATE_DISCONNECTED
}

emitRunCompleteIfAllBrowsersDone()
})

self.on('browser_process_failure', function (browserLauncher) {
Expand Down

0 comments on commit 3480c14

Please sign in to comment.