blob: bb3cee781c6859cc8c2d76dd013c0f1b5874e881 [file] [log] [blame]
#!/usr/bin/env node
"use strict";
var path = require("path");
var getMochaOpts = require("./getMochaOpts");
var programmaticRunner = require("./programmaticRunner");
var filePath = getAdapterFilePath();
var adapter = adapterObjectFromFilePath(filePath);
var mochaOpts = getMochaOpts(process.argv.slice(3));
programmaticRunner(adapter, mochaOpts, function (err) {
if (err) {
process.exit(err.failures || -1);
}
});
function getAdapterFilePath() {
if (process.argv[2]) {
return path.join(process.cwd(), process.argv[2]);
} else {
throw new Error("Specify your adapter file as an argument.");
}
}
function adapterObjectFromFilePath(filePath) {
try {
return require(filePath);
} catch (e) {
var error = new Error("Error `require`ing adapter file " + filePath + "\n\n" + e);
error.cause = e;
throw error;
}
}