diff options
author | Feross Aboukhadijeh <feross@feross.org> | 2016-02-19 03:19:30 +0300 |
---|---|---|
committer | Feross Aboukhadijeh <feross@feross.org> | 2016-02-19 03:19:30 +0300 |
commit | 5683f0c7060b829d0e674b298299072b39b318ca (patch) | |
tree | 3aac011029a271626f96de4094005586aae0d8a8 /bin | |
parent | ea6e5f1dc54f5a48f54b494fa6986f152339552d (diff) | |
parent | 24b4b6f9dc805e652e68231d9f1513782e7c23e4 (diff) |
Merge pull request #619 from josephfrazier/use-zuulrc-credentials
Use .zuulrc credentials for Sauce Labs tests
Diffstat (limited to 'bin')
-rw-r--r-- | bin/test.js | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/bin/test.js b/bin/test.js index b30a701..1de9eac 100644 --- a/bin/test.js +++ b/bin/test.js @@ -1,20 +1,30 @@ #!/usr/bin/env node var spawn = require('cross-spawn-async') +var findNearestFile = require('find-nearest-file') +var path = require('path') +var userHome = require('user-home') +var pathExists = require('path-exists') -var runSauceLabs = process.env.SAUCE_USERNAME && process.env.SAUCE_ACCESS_KEY +// .zuulrc logic from https://github.com/defunctzombie/zuul/blob/a0de46a5906c84b19f655c487f7c8debe938984d/bin/zuul#L384 +var zuulrcPath = findNearestFile('.zuulrc') || path.join(userHome, '.zuulrc') +var hasSauceLabEnvVars = process.env.SAUCE_USERNAME && process.env.SAUCE_ACCESS_KEY +var runSauceLabs = hasSauceLabEnvVars || pathExists.sync(zuulrcPath) -npmRun('test-node', function (code) { - if (code === 0) { - var scriptName = runSauceLabs ? 'test-browser' : 'test-browser-headless' - npmRun(scriptName, function (code) { - process.exit(code) - }) - } else { - process.exit(code) - } +npmRun('test-node', function () { + npmRun('test-browser-headless', function () { + if (runSauceLabs) { + npmRun('test-browser') + } + }) }) -function npmRun (scriptName, onClose) { - spawn('npm', ['run', scriptName], { stdio: 'inherit' }).on('close', onClose) +function npmRun (scriptName, onSuccess) { + spawn('npm', ['run', scriptName], { stdio: 'inherit' }).on('close', function (code) { + if (code === 0 && onSuccess) { + onSuccess(code) + } else { + process.exit(code) + } + }) } |