diff options
Diffstat (limited to 'addon-sdk/source/bin/jpm-test.js')
-rw-r--r-- | addon-sdk/source/bin/jpm-test.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/addon-sdk/source/bin/jpm-test.js b/addon-sdk/source/bin/jpm-test.js new file mode 100644 index 000000000..f22a552ea --- /dev/null +++ b/addon-sdk/source/bin/jpm-test.js @@ -0,0 +1,34 @@ +/* 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 Promise = require("promise"); +var Mocha = require("mocha"); +var mocha = new Mocha({ + ui: "bdd", + reporter: "spec", + timeout: 900000 +}); + +var isDebug = require("./node-scripts/utils").isDebug; + +exports.run = function(type) { + return new Promise(function(resolve) { + type = type || ""; + [ + (!isDebug && /^(firefox-bin)?$/.test(type)) && require.resolve("../bin/node-scripts/test.firefox-bin"), + (!isDebug && /^(docs)?$/.test(type)) && require.resolve("../bin/node-scripts/test.docs"), + (!isDebug && /^(ini)?$/.test(type)) && require.resolve("../bin/node-scripts/test.ini"), + (/^(examples)?$/.test(type)) && require.resolve("../bin/node-scripts/test.examples"), + (!isDebug && /^(addons)?$/.test(type)) && require.resolve("../bin/node-scripts/test.addons"), + (!isDebug && /^(modules)?$/.test(type)) && require.resolve("../bin/node-scripts/test.modules"), + ].forEach(function(filepath) { + filepath && mocha.addFile(filepath); + }) + + mocha.run(function(failures) { + resolve(failures); + }); + }); +} |