diff options
author | Matt A. Tobin <email@mattatobin.com> | 2018-02-10 02:51:36 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2018-02-10 02:51:36 -0500 |
commit | 37d5300335d81cecbecc99812747a657588c63eb (patch) | |
tree | 765efa3b6a56bb715d9813a8697473e120436278 /addon-sdk/source/bin/node-scripts/utils.js | |
parent | b2bdac20c02b12f2057b9ef70b0a946113a00e00 (diff) | |
parent | 4fb11cd5966461bccc3ed1599b808237be6b0de9 (diff) | |
download | UXP-37d5300335d81cecbecc99812747a657588c63eb.tar UXP-37d5300335d81cecbecc99812747a657588c63eb.tar.gz UXP-37d5300335d81cecbecc99812747a657588c63eb.tar.lz UXP-37d5300335d81cecbecc99812747a657588c63eb.tar.xz UXP-37d5300335d81cecbecc99812747a657588c63eb.zip |
Merge branch 'ext-work'
Diffstat (limited to 'addon-sdk/source/bin/node-scripts/utils.js')
-rw-r--r-- | addon-sdk/source/bin/node-scripts/utils.js | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/addon-sdk/source/bin/node-scripts/utils.js b/addon-sdk/source/bin/node-scripts/utils.js deleted file mode 100644 index 1d7f94474..000000000 --- a/addon-sdk/source/bin/node-scripts/utils.js +++ /dev/null @@ -1,104 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -"use strict"; - -var _ = require("lodash"); -var path = require("path"); -var child_process = require("child_process"); -var jpm = require.resolve("../../node_modules/jpm/bin/jpm"); -var Promise = require("promise"); -var chai = require("chai"); -var expect = chai.expect; -var assert = chai.assert; -var DEFAULT_PROCESS = process; - -var sdk = path.join(__dirname, "..", ".."); -var prefsPath = path.join(sdk, "test", "preferences", "test-preferences.js"); -var e10sPrefsPath = path.join(sdk, "test", "preferences", "test-e10s-preferences.js"); - -var OUTPUT_FILTERS = [ - /[^\n\r]+WARNING\: NS_ENSURE_SUCCESS\(rv, rv\) failed[^\n]+\n\r?/ -]; - -var isDebug = (process.env["JPM_FX_DEBUG"] == "1"); -exports.isDebug = isDebug; - -function spawn (cmd, options) { - options = options || {}; - var env = _.extend({}, options.env, process.env); - - if (isDebug) { - env["MOZ_QUIET"] = 1; - } - - var e10s = options.e10s || false; - - return child_process.spawn("node", [ - jpm, cmd, "-v", "--tbpl", - "--prefs", e10s ? e10sPrefsPath : prefsPath, - "-o", sdk, - "-f", options.filter || "" - ], { - cwd: options.cwd || tmpOutputDir, - env: env - }); -} -exports.spawn = spawn; - -function run (cmd, options, p) { - return new Promise(function(resolve) { - var output = []; - - var proc = spawn(cmd, options); - proc.stderr.pipe(process.stderr); - proc.stdout.on("data", function (data) { - for (var i = OUTPUT_FILTERS.length - 1; i >= 0; i--) { - if (OUTPUT_FILTERS[i].test(data)) { - return null; - } - } - output.push(data); - return null; - }); - - if (p) { - proc.stdout.pipe(p.stdout); - } - else if (!isDebug) { - proc.stdout.pipe(DEFAULT_PROCESS.stdout); - } - else { - proc.stdout.on("data", function (data) { - data = (data || "") + ""; - if (/TEST-/.test(data)) { - DEFAULT_PROCESS.stdout.write(data.replace(/[\s\n]+$/, "") + "\n"); - } - }); - } - - proc.on("close", function(code) { - var out = output.join(""); - var buildDisplayed = /Build \d+/.test(out); - var noTests = /No tests were run/.test(out); - var hasSuccess = /All tests passed!/.test(out); - var hasFailure = /There were test failures\.\.\./.test(out); - if (noTests || hasFailure || !hasSuccess || code != 0) { - DEFAULT_PROCESS.stdout.write(out); - } - expect(code).to.equal(hasFailure ? 1 : 0); - expect(buildDisplayed).to.equal(true); - expect(hasFailure).to.equal(false); - expect(hasSuccess).to.equal(true); - expect(noTests).to.equal(false); - resolve(); - }); - }); -} -exports.run = run; - -function readParam(name) { - var index = process.argv.indexOf("--" + name) - return index >= 0 && process.argv[index + 1] -} -exports.readParam = readParam; |