testrunner: run() ignores timeout option

Version

24.1.0

Platform

Microsoft Windows NT 10.0.19045.0 x64

Subsystem

What steps will reproduce the bug?

runner.js

import { run } from "node:test";
import { spec } from "node:test/reporters";

run({
    timeout: 1000
}).compose(spec)
    .pipe(process.stdout);

tee.test.js

import { test } from "node:test";

test("tee", async () => {
    console.log("tee");
    await new Promise(() => { });
})

Run node runner.js -> Program never exits

How often does it reproduce? Is there a required condition?

Always

What is the expected behavior? Why is that the expected behavior?

Test should run into timeout. Works as expected with --test-timeout flag.

What do you see instead?

Timeout probably remains infinity and program never exits.

Additional information