From 7e61cfd5520044b840a81511a4fa4518b9467885 Mon Sep 17 00:00:00 2001 From: Joseph Frazier <1212jtraceur@gmail.com> Date: Sun, 14 Feb 2016 20:53:36 -0500 Subject: Use .zuulrc credentials for Sauce Labs tests See https://github.com/feross/webtorrent/pull/605#issuecomment-183823968 --- bin/test.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/test.js b/bin/test.js index b30a701..e794bf3 100644 --- a/bin/test.js +++ b/bin/test.js @@ -1,8 +1,15 @@ #!/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) { -- cgit v1.2.3 From 973dbe539b86316678f30accfb07b3676f7d5939 Mon Sep 17 00:00:00 2001 From: Joseph Frazier <1212jtraceur@gmail.com> Date: Sun, 14 Feb 2016 21:16:49 -0500 Subject: Always run Electron tests during `npm test` See https://github.com/feross/webtorrent/pull/605#issuecomment-183823968 --- bin/test.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/test.js b/bin/test.js index e794bf3..c2cebd4 100644 --- a/bin/test.js +++ b/bin/test.js @@ -13,9 +13,14 @@ 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) + npmRun('test-browser-headless', function (code) { + if (code === 0 && runSauceLabs) { + npmRun('test-browser', function (code) { + process.exit(code) + }) + } else { + process.exit(code) + } }) } else { process.exit(code) -- cgit v1.2.3 From a59b4db204a2839f3ff56f9403e98e7981517835 Mon Sep 17 00:00:00 2001 From: Joseph Frazier <1212jtraceur@gmail.com> Date: Sun, 14 Feb 2016 21:35:24 -0500 Subject: bin/test.js: move process.exit logic into npmRun helper This helps reduce nesting. --- bin/test.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'bin') diff --git a/bin/test.js b/bin/test.js index c2cebd4..617fe97 100644 --- a/bin/test.js +++ b/bin/test.js @@ -12,21 +12,21 @@ var hasSauceLabEnvVars = process.env.SAUCE_USERNAME && process.env.SAUCE_ACCESS_ var runSauceLabs = hasSauceLabEnvVars || pathExists.sync(zuulrcPath) npmRun('test-node', function (code) { - if (code === 0) { - npmRun('test-browser-headless', function (code) { - if (code === 0 && runSauceLabs) { - npmRun('test-browser', function (code) { - process.exit(code) - }) - } else { - process.exit(code) - } - }) - } else { - process.exit(code) - } + npmRun('test-browser-headless', function (code) { + if (runSauceLabs) { + npmRun('test-browser', process.exit) + } else { + process.exit(code) + } + }) }) function npmRun (scriptName, onClose) { - spawn('npm', ['run', scriptName], { stdio: 'inherit' }).on('close', onClose) + spawn('npm', ['run', scriptName], { stdio: 'inherit' }).on('close', function (code) { + if (code === 0) { + onClose(code) + } else { + process.exit(code) + } + }) } -- cgit v1.2.3 From 89b6d15096d43dd6a37a713de3c3d76ea56dc8d8 Mon Sep 17 00:00:00 2001 From: Joseph Frazier <1212jtraceur@gmail.com> Date: Mon, 15 Feb 2016 09:08:06 -0500 Subject: bin/test.js: npmRun() exits process if no callback --- bin/test.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/test.js b/bin/test.js index 617fe97..1de9eac 100644 --- a/bin/test.js +++ b/bin/test.js @@ -11,20 +11,18 @@ 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) { - npmRun('test-browser-headless', function (code) { +npmRun('test-node', function () { + npmRun('test-browser-headless', function () { if (runSauceLabs) { - npmRun('test-browser', process.exit) - } else { - process.exit(code) + npmRun('test-browser') } }) }) -function npmRun (scriptName, onClose) { +function npmRun (scriptName, onSuccess) { spawn('npm', ['run', scriptName], { stdio: 'inherit' }).on('close', function (code) { - if (code === 0) { - onClose(code) + if (code === 0 && onSuccess) { + onSuccess(code) } else { process.exit(code) } -- cgit v1.2.3