From 61d8aca27331c8ab7272d3185171196e56d0a712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Thu, 18 Jan 2024 00:53:11 +0100 Subject: [PATCH] ExerciseDockerCompose => Add rejectIfCodeIsNotZero argument --- helpers/Dojo/ExerciseDockerCompose.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/helpers/Dojo/ExerciseDockerCompose.ts b/helpers/Dojo/ExerciseDockerCompose.ts index 00bad2f..ad03343 100644 --- a/helpers/Dojo/ExerciseDockerCompose.ts +++ b/helpers/Dojo/ExerciseDockerCompose.ts @@ -48,7 +48,7 @@ class ExerciseDockerCompose { this.events.emit('finished', success, code); } - private registerChildProcess(childProcess: ChildProcessWithoutNullStreams, resolve: (value: (number | PromiseLike<number>)) => void, reject: (reason?: unknown) => void, displayable: boolean) { + private registerChildProcess(childProcess: ChildProcessWithoutNullStreams, resolve: (value: (number | PromiseLike<number>)) => void, reject: (reason?: unknown) => void, displayable: boolean, rejectIfCodeIsNotZero: boolean) { childProcess.stdout.on('data', (data) => { this.log(data.toString(), false, displayable); }); @@ -58,7 +58,7 @@ class ExerciseDockerCompose { }); childProcess.on('exit', (code) => { - code !== null ? resolve(code) : reject(); + code === null || (rejectIfCodeIsNotZero && code !== 0) ? reject(code) : resolve(code); }); } @@ -86,7 +86,7 @@ class ExerciseDockerCompose { } }); - this.registerChildProcess(dockerCompose, resolve, reject, true); + this.registerChildProcess(dockerCompose, resolve, reject, true, false); }); } catch ( error ) { this.endStep(`Error while running the docker compose file`, true); @@ -110,7 +110,7 @@ class ExerciseDockerCompose { shell: true }); - this.registerChildProcess(dockerCompose, resolve, reject, false); + this.registerChildProcess(dockerCompose, resolve, reject, false, true); }); } catch ( error ) { this.endStep(`Error while getting the linked services logs`, true); @@ -135,10 +135,10 @@ class ExerciseDockerCompose { shell: true }); - this.registerChildProcess(dockerCompose, resolve, reject, false); + this.registerChildProcess(dockerCompose, resolve, reject, false, true); }); } catch ( error ) { - this.endStep(`Error stop and remove containers`, true); + this.endStep(`Error while stopping and removing containers`, true); this.finished(false, ExerciseCheckerError.DOCKER_COMPOSE_DOWN_ERROR); return; } @@ -161,7 +161,7 @@ class ExerciseDockerCompose { shell: true }); - this.registerChildProcess(dockerCompose, resolve, reject, false); + this.registerChildProcess(dockerCompose, resolve, reject, false, true); }); } catch ( error ) { this.endStep(`Error while removing dangling images`, true); -- GitLab