diff options
author | Andreu Botella <abb@randomunok.com> | 2021-09-13 13:47:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-13 13:47:17 +0200 |
commit | 93290487eb6dc3d7c6bf304c1a7c13e4139e4c40 (patch) | |
tree | 718bc7d0a668985cc765a6c9abbe12c6505173c5 /cli/tests/testdata/worker_message_before_close.js | |
parent | d0b5ff6db9ec42f645210de7c4806bad385bdfaf (diff) |
fix: worker_message_before_close was flaky (#12019)
Diffstat (limited to 'cli/tests/testdata/worker_message_before_close.js')
-rw-r--r-- | cli/tests/testdata/worker_message_before_close.js | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/cli/tests/testdata/worker_message_before_close.js b/cli/tests/testdata/worker_message_before_close.js index 6a9149af1..8ad35b3fc 100644 --- a/cli/tests/testdata/worker_message_before_close.js +++ b/cli/tests/testdata/worker_message_before_close.js @@ -1,16 +1,29 @@ +let messagesReceived = 0; + for (let i = 0; i < 4; i++) { const worker = new Worker( new URL("./workers/message_before_close.js", import.meta.url).href, { type: "module", name: String(i) }, ); - worker.addEventListener("message", (message) => { - // Only print responses after all reception logs. - setTimeout(() => { - console.log("response from worker %d received", message.data); - }, 500); + worker.addEventListener("message", () => { + messagesReceived += 1; + + if (messagesReceived == 4) { + console.log("received all 4 responses from the workers"); + } }); + worker.postMessage(i); } +globalThis.addEventListener("unload", () => { + if (messagesReceived !== 4) { + console.log( + "received only %d responses from the workers", + messagesReceived, + ); + } +}); + export {}; |