From 4435323096230a4c8e6f8c73208c25f2da54b7e9 Mon Sep 17 00:00:00 2001 From: Florian Vogt Date: Mon, 4 Mar 2024 12:09:34 +0100 Subject: [PATCH] test(middleware-code-coverage): kill child process after ava is done --- .../middleware-code-coverage/test/integration/boot.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/middleware-code-coverage/test/integration/boot.js b/packages/middleware-code-coverage/test/integration/boot.js index a222ebe5..ce83a1dc 100644 --- a/packages/middleware-code-coverage/test/integration/boot.js +++ b/packages/middleware-code-coverage/test/integration/boot.js @@ -1,4 +1,4 @@ -import test from "ava"; +import {default as test, registerCompletionHandler} from "ava"; import path from "node:path"; import {fileURLToPath} from "node:url"; import getPort from "get-port"; @@ -70,11 +70,12 @@ function exec(command, args=[]) { } function startUI5Server(configPath, port) { - // Starting the app this way allows AVA to directly manage and kill subprocesses like "ui5 serve". - // Using App's 'npm start' script would start a (detached) subprocess and that - // would require more efforts to find and kill it. const child = exec("ui5", ["serve", "--config", configPath, "--port", port]); + registerCompletionHandler(() => { + process.exit(); + }); + return new Promise( (resolve, reject) => { const onError = (errMessage = "Start of UI5 Server failed.") => { reject(new Error(errMessage));