runnerCli.js 2.01 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
"use strict";
/**
 * This serves as the main function for starting a test run that has been
 * requested by the launcher.
 */
Object.defineProperty(exports, "__esModule", { value: true });
const configParser_1 = require("./configParser");
const logger_1 = require("./logger");
const runner_1 = require("./runner");
let logger = new logger_1.Logger('runnerCli');
process.on('message', (m) => {
    switch (m.command) {
        case 'run':
            if (!m.capabilities) {
                throw new Error('Run message missing capabilities');
            }
            // Merge in config file options.
            let configParser = new configParser_1.ConfigParser();
            if (m.configFile) {
                configParser.addFileConfig(m.configFile);
            }
            if (m.additionalConfig) {
                configParser.addConfig(m.additionalConfig);
            }
            let config = configParser.getConfig();
            logger_1.Logger.set(config);
            // Grab capabilities to run from launcher.
            config.capabilities = m.capabilities;
            // Get specs to be executed by this runner
            config.specs = m.specs;
            // Launch test run.
            let runner = new runner_1.Runner(config);
            // Pipe events back to the launcher.
            runner.on('testPass', () => {
                process.send({ event: 'testPass' });
            });
            runner.on('testFail', () => {
                process.send({ event: 'testFail' });
            });
            runner.on('testsDone', (results) => {
                process.send({ event: 'testsDone', results: results });
            });
            runner.run()
                .then((exitCode) => {
                process.exit(exitCode);
            })
                .catch((err) => {
                logger.info(err.message);
                process.exit(1);
            });
            break;
        default:
            throw new Error('command ' + m.command + ' is invalid');
    }
});
//# sourceMappingURL=runnerCli.js.map