0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 09:31:22 -05:00

tests: make worker test deterministic (#12361)

This commit is contained in:
Nayeem Rahman 2021-10-07 21:53:09 +01:00 committed by GitHub
parent e8b3ffd155
commit 330aaae936
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 16 deletions

View file

@ -1,4 +1,4 @@
let messagesReceived = 0;
const messagesReceived = new Set();
for (let i = 0; i < 4; i++) {
const worker = new Worker(
@ -7,21 +7,20 @@ for (let i = 0; i < 4; i++) {
);
worker.addEventListener("message", () => {
messagesReceived += 1;
if (messagesReceived == 4) {
messagesReceived.add(i);
if (messagesReceived.size == 4) {
console.log("received all 4 responses from the workers");
}
});
worker.postMessage(i);
worker.postMessage({});
}
globalThis.addEventListener("unload", () => {
if (messagesReceived !== 4) {
if (messagesReceived.size !== 4) {
console.log(
"received only %d responses from the workers",
messagesReceived,
messagesReceived.size,
);
}
});

View file

@ -1,5 +1 @@
message received in worker 0
message received in worker 1
message received in worker 2
message received in worker 3
received all 4 responses from the workers

View file

@ -1,6 +1,4 @@
self.onmessage = (params) => {
const workerId = params.data;
console.log("message received in worker %d", workerId);
self.postMessage(workerId);
self.close();
onmessage = () => {
postMessage({});
close();
};