summaryrefslogtreecommitdiff
path: root/tests/specs/run/worker_close_race
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/run/worker_close_race')
-rw-r--r--tests/specs/run/worker_close_race/__test__.jsonc4
-rw-r--r--tests/specs/run/worker_close_race/close_race_worker.js6
-rw-r--r--tests/specs/run/worker_close_race/worker_close_race.js14
-rw-r--r--tests/specs/run/worker_close_race/worker_close_race.js.out0
4 files changed, 24 insertions, 0 deletions
diff --git a/tests/specs/run/worker_close_race/__test__.jsonc b/tests/specs/run/worker_close_race/__test__.jsonc
new file mode 100644
index 000000000..bdb9665f7
--- /dev/null
+++ b/tests/specs/run/worker_close_race/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run --quiet --reload --allow-read worker_close_race.js",
+ "output": "worker_close_race.js.out"
+}
diff --git a/tests/specs/run/worker_close_race/close_race_worker.js b/tests/specs/run/worker_close_race/close_race_worker.js
new file mode 100644
index 000000000..6964be34a
--- /dev/null
+++ b/tests/specs/run/worker_close_race/close_race_worker.js
@@ -0,0 +1,6 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+setTimeout(() => {
+ self.postMessage("");
+ self.close();
+}, 500);
diff --git a/tests/specs/run/worker_close_race/worker_close_race.js b/tests/specs/run/worker_close_race/worker_close_race.js
new file mode 100644
index 000000000..188cd9ed8
--- /dev/null
+++ b/tests/specs/run/worker_close_race/worker_close_race.js
@@ -0,0 +1,14 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+// https://github.com/denoland/deno/issues/11416
+// Test for a race condition between a worker's `close()` and the main thread's
+// `Worker.prototype.terminate()`.
+
+const worker = new Worker(
+ import.meta.resolve("./close_race_worker.js"),
+ { type: "module" },
+);
+
+worker.onmessage = () => {
+ worker.terminate();
+};
diff --git a/tests/specs/run/worker_close_race/worker_close_race.js.out b/tests/specs/run/worker_close_race/worker_close_race.js.out
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/specs/run/worker_close_race/worker_close_race.js.out