Simplify exit code logic. (#4063)
* Simplify exit code logic. I introduced a bug when I added support for exit codes from Browsertime/scripting. This fixed that bug and makes the code simpler to read/understand. https://github.com/sitespeedio/sitespeed.io/issues/4062
This commit is contained in:
parent
f3a28fa731
commit
c202151738
|
|
@ -117,7 +117,6 @@ async function api(options) {
|
||||||
|
|
||||||
async function start() {
|
async function start() {
|
||||||
let parsed = await parseCommandLine();
|
let parsed = await parseCommandLine();
|
||||||
let budgetFailing = false;
|
|
||||||
// hack for getting in the unchanged cli options
|
// hack for getting in the unchanged cli options
|
||||||
parsed.options.explicitOptions = parsed.explicitOptions;
|
parsed.options.explicitOptions = parsed.explicitOptions;
|
||||||
parsed.options.urls = parsed.urls;
|
parsed.options.urls = parsed.urls;
|
||||||
|
|
@ -156,21 +155,27 @@ async function start() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we have a failing budget, change the exit code
|
||||||
if (
|
if (
|
||||||
parsed.options.budget &&
|
parsed.options.budget &&
|
||||||
Object.keys(result.budgetResult.failing).length > 0
|
Object.keys(result.budgetResult.failing).length > 0
|
||||||
) {
|
) {
|
||||||
process.exitCode = 1;
|
process.exitCode = 1;
|
||||||
budgetFailing = true;
|
|
||||||
}
|
}
|
||||||
|
// If you supress the exit code using budgets, we will always return 0
|
||||||
if (
|
else if (
|
||||||
(!budgetFailing ||
|
parsed.options.budget &&
|
||||||
(parsed.options.budget && parsed.options.budget.suppressExitCode)) &&
|
parsed.options.budget.suppressExitCode
|
||||||
process.exitCode === undefined
|
|
||||||
) {
|
) {
|
||||||
process.exitCode = 0;
|
process.exitCode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the exit code is still not set (it can be set in the scripting also)
|
||||||
|
// Make sure we exit with a 0
|
||||||
|
if (process.exitCode === undefined) {
|
||||||
|
process.exitCode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (result.errors.length > 0) {
|
if (result.errors.length > 0) {
|
||||||
console.log('Errors while running:\n' + result.errors.join('\n'));
|
console.log('Errors while running:\n' + result.errors.join('\n'));
|
||||||
throw new Error('Errors while running:\n' + result.errors.join('\n'));
|
throw new Error('Errors while running:\n' + result.errors.join('\n'));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue