summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/bin/node-scripts/test.addons.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /addon-sdk/source/bin/node-scripts/test.addons.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'addon-sdk/source/bin/node-scripts/test.addons.js')
-rw-r--r--addon-sdk/source/bin/node-scripts/test.addons.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/addon-sdk/source/bin/node-scripts/test.addons.js b/addon-sdk/source/bin/node-scripts/test.addons.js
new file mode 100644
index 000000000..dc7c6dfce
--- /dev/null
+++ b/addon-sdk/source/bin/node-scripts/test.addons.js
@@ -0,0 +1,57 @@
+/* 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 utils = require("./utils");
+var path = require("path");
+var fs = require("fs");
+var jpm = utils.run;
+var readParam = utils.readParam;
+var isDebug = utils.isDebug;
+
+var addonsPath = path.join(__dirname, "..", "..", "test", "addons");
+
+var binary = process.env.JPM_FIREFOX_BINARY || "nightly";
+var filterPattern = readParam("filter");
+
+describe("jpm test sdk addons", function () {
+ fs.readdirSync(addonsPath)
+ .filter(fileFilter.bind(null, addonsPath))
+ .forEach(function (file) {
+ it(file, function (done) {
+ var addonPath = path.join(addonsPath, file);
+ process.chdir(addonPath);
+
+ var options = { cwd: addonPath, env: { JPM_FIREFOX_BINARY: binary }};
+ if (process.env.DISPLAY) {
+ options.env.DISPLAY = process.env.DISPLAY;
+ }
+ if (/^e10s/.test(file)) {
+ options.e10s = true;
+ }
+
+ jpm("run", options).then(done).catch(done);
+ });
+ });
+});
+
+function fileFilter(root, file) {
+ var matcher = filterPattern && new RegExp(filterPattern);
+ if (/^(l10n-properties|simple-prefs|page-mod-debugger)/.test(file)) {
+ return false;
+ }
+
+ // filter additional add-ons when using debug builds
+ if (isDebug) {
+ if (/^(chrome|e10s)/.test(file)) {
+ return false;
+ }
+ }
+
+ if (matcher && !matcher.test(file)) {
+ return false;
+ }
+ var stat = fs.statSync(path.join(root, file))
+ return (stat && stat.isDirectory());
+}