Summary
Code
"use strict";
var Message_1 = require('./Message');
var test_runner_1 = require('stryker-api/test_runner');
var PluginLoader_1 = require('../PluginLoader');
var log4js = require('log4js');
var objectUtils_1 = require('../utils/objectUtils');
var log = log4js.getLogger('TestRunnerChildProcessAdapterWorker');
var TestRunnerChildProcessAdapterWorker = (function () 0{
}{
function TestRunnerChildProcessAdapterWorker() 1{
}{
this.listenToMessages();
}
TestRunnerChildProcessAdapterWorker.prototype.listenToMessages = function () 2{
}{
var _this = this;
process.on('message', function (message) 3{
}{
switch (message.type) {
case Message_1.MessageType.Start:
_this.start(message.body);
break;
case Message_1.MessageType.Run:
_this.run(message.body);
break;
case Message_1.MessageType.Init:
_this.init();
break;
case Message_1.MessageType.Dispose:
_this.dispose();
break;
default:
log.warn('Received unsupported message: {}', JSON.stringify(message));
}
});
};
TestRunnerChildProcessAdapterWorker.prototype.start = function (body) 4{
}{
this.loadPlugins(body.runnerOptions.strykerOptions.plugins);
this.underlyingTestRunner = test_runner_1.TestRunnerFactory.instance().create(body.runnerName, body.runnerOptions);
};
TestRunnerChildProcessAdapterWorker.prototype.init = function () 5{
}{
var initPromise = void 0;
if (6true7falsethis.underlyingTestRunner.init) 8{
}{
initPromise = this.underlyingTestRunner.init();
}
if (9true10falseobjectUtils_1.isPromise(initPromise)) 11{
}{
initPromise.then(this.sendInitDone);
}
else 12{
}{
this.sendInitDone();
}
};
TestRunnerChildProcessAdapterWorker.prototype.sendInitDone = function () 13{
}{
process.send({ type: Message_1.MessageType.InitDone });
};
TestRunnerChildProcessAdapterWorker.prototype.dispose = function () 14{
}{
var disposePromise = void 0;
if (15true16falsethis.underlyingTestRunner.dispose) 17{
}{
disposePromise = this.underlyingTestRunner.dispose();
}
if (18false19trueobjectUtils_1.isPromise(disposePromise)) 20{
}{
disposePromise.then(this.sendDisposeDone);
}
else 21{
}{
this.sendDisposeDone();
}
};
TestRunnerChildProcessAdapterWorker.prototype.sendDisposeDone = function () 22{
}{
process.send({ type: Message_1.MessageType.DisposeDone });
};
TestRunnerChildProcessAdapterWorker.prototype.run = function (body) 23{
}{
this.underlyingTestRunner.run(body.runOptions).then(this.reportResult, this.reportErrorResult);
};
TestRunnerChildProcessAdapterWorker.prototype.loadPlugins = function (plugins) 24{
}{
new PluginLoader_1.default(plugins).load();
};
TestRunnerChildProcessAdapterWorker.prototype.reportResult = function (result) 25{
}{
var message = {
type: Message_1.MessageType.Result,
body: { result: result }
};
process.send(message);
};
TestRunnerChildProcessAdapterWorker.prototype.reportErrorResult = function (error) 26{
}{
var message = {
type: Message_1.MessageType.Result,
body: {
result: {
testNames: [],
result: test_runner_1.TestResult.Error,
}
}
};
process.send(message);
};
return TestRunnerChildProcessAdapterWorker;
}());
new TestRunnerChildProcessAdapterWorker();
//# sourceMappingURL=IsolatedTestRunnerAdapterWorker.js.map