From 54e6a8adefbccf872dbe19bee1f628b059b48e12 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 21 Jan 2026 15:25:35 +0100 Subject: [PATCH 1/2] fix(web): fix problem with tests if KEYMAN_ROOT is not set When running mocha without starting it through `build.sh`/`test.sh` the tests failed if the `KEYMAN_ROOT` environment variable was not set. Things were almost correct, but the undefined `KEYMAN_ROOT` variable added an extra `undefined` subdirectory. This change fixes this problem by setting `KEYMAN_ROOT` to the current directory (`.`). This gets removed by `pathToFileURL` which also adds the absolute path to the current directory since we pass a relative path as argument. Build-bot: skip Test-bot: skip --- web/src/test/auto/headless/engine/loadKeyboardHelper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/test/auto/headless/engine/loadKeyboardHelper.ts b/web/src/test/auto/headless/engine/loadKeyboardHelper.ts index 920dd6755c..935651792a 100644 --- a/web/src/test/auto/headless/engine/loadKeyboardHelper.ts +++ b/web/src/test/auto/headless/engine/loadKeyboardHelper.ts @@ -5,7 +5,7 @@ import fs from 'node:fs'; import { pathToFileURL } from 'node:url'; -const KEYMAN_ROOT = process.env['KEYMAN_ROOT']; +const KEYMAN_ROOT = process.env['KEYMAN_ROOT'] ?? '.'; export const coreurl = pathToFileURL(`${KEYMAN_ROOT}/web/build/engine/obj/core-adapter/import/core`).toString(); export function loadKeyboardBlob(filename: string) { From fd2a43de95fc38626e4a4a03a23870f9650120ca Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 26 Jan 2026 08:49:20 +0100 Subject: [PATCH 2/2] Update web/src/test/auto/headless/engine/loadKeyboardHelper.ts Co-authored-by: Marc Durdin --- web/src/test/auto/headless/engine/loadKeyboardHelper.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/web/src/test/auto/headless/engine/loadKeyboardHelper.ts b/web/src/test/auto/headless/engine/loadKeyboardHelper.ts index 935651792a..fa1be9f276 100644 --- a/web/src/test/auto/headless/engine/loadKeyboardHelper.ts +++ b/web/src/test/auto/headless/engine/loadKeyboardHelper.ts @@ -5,7 +5,11 @@ import fs from 'node:fs'; import { pathToFileURL } from 'node:url'; -const KEYMAN_ROOT = process.env['KEYMAN_ROOT'] ?? '.'; +import { fileURLToPath } from 'node:url'; +import { dirname } from 'node:path'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const KEYMAN_ROOT = process.env['KEYMAN_ROOT'] ?? (__dirname + '/../../../../../../'); export const coreurl = pathToFileURL(`${KEYMAN_ROOT}/web/build/engine/obj/core-adapter/import/core`).toString(); export function loadKeyboardBlob(filename: string) {