Я пытаюсь запустить два сценария одновременно с concurrently
. Основная команда выглядит примерно так:
concurrently -k --success first "node ./tools/mock-webapi/mock-webapi.js" "npm run test-single-run"
Который в свою очередь звонит (местный):
"test-single-run": "karma start --single-run --browsers ChromeHeadless"
Или удаленно (хост teamcity):
"test-teamcity": "karma start --reporters teamcity --single-run --browsers ChromeHeadless",
Тесты работают нормально (локально и удаленно). Тем не менее, я получаю код выхода 1. Даже если я использую concurrently -k --success first
, я все равно получаю code 1
даже с --success first
.
[1] 09 05 2018 17:56:54.032:WARN [launcher]: ChromeHeadless was not killed in 2000 ms, sending SIGKILL.
[1] npm run test-single-run exited with code 0
--> Sending SIGTERM to other processes..
[0] node ./tools/mock-webapi/mock-webapi.js exited with code 1
Я пытался различными способами, чтобы json-server
изящно принял этот сигнал. Кажется, ничего не работает.
макет webapi.js
process.on('SIGTERM', function (code) {
console.log('Handle SIGTERM', process.pid, code);
exitCode = 0;
server.close(function () {
process.exit(0);
});
});
process.on('SIGKILL', function (code) {
console.log('SIGKILL received...', code);
exitCode = 0;
server.close(function () {
process.exit(0);
});
});
process.on('SIGINT', function (code) {
console.log('SIGINT received...', code);
exitCode = 0;
server.close(function () {
process.exit(0);
});
});