diff --git a/lib/cli.js b/lib/cli.js index d91fd0c9f..79a8bb88c 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -21,37 +21,39 @@ var config = { }, jasmineNodeOpts: { specs: [], - onComplete: null, isVerbose: false, showColors: true, includeStackTrace: true } } -var originalOnComplete = config.jasmineNodeOpts.onComplete; - +var originalOnComplete; var server; var driver; var id; var cleanUp = function(runner, log) { - var passed = runner.results().failedCount == 0; if (originalOnComplete) { originalOnComplete(runner, log); } + + var passed = runner.results().failedCount == 0; if (sauceAccount) { - sauceAccount.updateJob(id, {'passed': passed}, function() {}); - process.exit(passed? 0 : 1); + sauceAccount.updateJob(id, {'passed': passed}, function() { + driver.quit().then(function() { + process.exit(passed? 0 : 1); + }); + }); + } else { + driver.quit().then(function() { + if (server) { + util.puts('Shutting down selenium standalone server'); + server.stop(); + } + }).then(function() { + process.exit(passed? 0 : 1); + }); } - - driver.quit().then(function() { - if (server) { - util.puts('Shutting down selenium standalone server'); - server.stop(); - } - }).then(function() { - process.exit(passed? 0 : 1); - }); }; var printVersion = function () { @@ -81,6 +83,9 @@ var run = function() { if (config.sauceUser && config.sauceKey) { config.capabilities.username = config.sauceUser; config.capabilities.accessKey = config.sauceKey; + if (!config.jasmineNodeOpts.defaultTimeoutInterval) { + config.jasmineNodeOpts.defaultTimeoutInterval = 30 * 1000; + } config.seleniumAddress = 'http://' + config.sauceUser + ':' + config.sauceKey + '@ondemand.saucelabs.com:80/wd/hub'; @@ -137,6 +142,7 @@ var startJasmineTests = function() { require('../jasminewd'); var options = config.jasmineNodeOpts; + originalOnComplete = options.onComplete; options.onComplete = cleanUp; minijn.executeSpecs(options); diff --git a/package.json b/package.json index 858d89b71..3e9e2ce59 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "author": "Julie Ralph ", "dependencies": { "selenium-webdriver": "~2.35.0", - "minijasminenode": "~0.2.0", + "minijasminenode": "~0.2.4", "saucelabs": "~0.1.0", "glob": ">=3.1.14", "adm-zip": ">=0.4.2"