35 lines
897 B
JavaScript
35 lines
897 B
JavaScript
#!/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;
|
|
}
|
|
}
|