#!/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; } }