fix(runtime): handle expected exitCode rejection after terminating timed out test processes

This commit is contained in:
2026-03-23 14:40:54 +00:00
parent 8e53e5143e
commit 5563154fd9
3 changed files with 9 additions and 1 deletions

View File

@@ -1,5 +1,11 @@
# Changelog
## 2026-03-23 - 3.5.1 - fix(runtime)
handle expected exitCode rejection after terminating timed out test processes
- swallow the child process exitCode rejection triggered by timeout termination
- reduce unhandled rejection noise when test files exceed the configured timeout
## 2026-03-19 - 3.5.0 - feat(tstest)
add support for package.json before scripts during test execution

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@git.zone/tstest',
version: '3.5.0',
version: '3.5.1',
description: 'A powerful, modern test runner for TypeScript with multi-runtime support (Node.js, Deno, Bun, Chromium) and a batteries-included test framework.'
}

View File

@@ -184,6 +184,8 @@ import '${absoluteTestFile.replace(/\\/g, '/')}';
timeoutId = setTimeout(async () => {
// Use tsrun's terminate() to gracefully kill the process
await tsrunProcess.terminate();
// Swallow the expected rejection from the killed child process
tsrunProcess.exitCode.catch(() => {});
reject(new Error(`Test file timed out after ${this.timeoutSeconds} seconds`));
}, timeoutMs);
});