diff --git a/packages/cli/src/compas/commands/test.js b/packages/cli/src/compas/commands/test.js index 774794b6a7..519b9ad679 100644 --- a/packages/cli/src/compas/commands/test.js +++ b/packages/cli/src/compas/commands/test.js @@ -143,6 +143,10 @@ export async function cliExecutor(logger, state) { state.flags.withLogs = state.flags.withLogs ?? false; process.env._COMPAS_TEST_WITH_LOGS = String(state.flags.withLogs); + process.env.__COMPAS_TEST_PARALLEL_COUNT = String(parallelCount); + process.env.__COMPAS_TEST_RANDOMIZE_ROUNDS = String( + state.flags.randomizeRounds, + ); refreshEnvironmentCache(); // Make sure to set tests running, so `mainTestFn` is 'disabled'. diff --git a/packages/cli/src/testing/worker-thread.js b/packages/cli/src/testing/worker-thread.js index 0cc55e2bd4..1e39be3355 100644 --- a/packages/cli/src/testing/worker-thread.js +++ b/packages/cli/src/testing/worker-thread.js @@ -1,7 +1,7 @@ import { setTimeout } from "timers/promises"; import { pathToFileURL } from "url"; import { isMainThread, parentPort, threadId } from "worker_threads"; -import { AppError, mainFn, newLogger } from "@compas/stdlib"; +import { AppError, environment, mainFn, newLogger } from "@compas/stdlib"; import { loadTestConfig } from "./config.js"; import { markTestFailuresRecursively, @@ -26,12 +26,20 @@ async function main(logger) { process.exit(1); } + const totalThreads = + Number(environment.__COMPAS_TEST_PARALLEL_COUNT ?? "1") * + Number(environment.__COMPAS_TEST_RANDOMIZE_ROUNDS ?? "1"); + const formattedThreadId = String(threadId).padStart( + String(totalThreads).length, + " ", + ); + // Make sure `mainTestFn` is disabled setAreTestRunning(true); setTestLogger( newLogger({ ctx: { - type: `worker-thread(${threadId})`, + type: `worker-thread(${formattedThreadId})`, }, }), );