summaryrefslogtreecommitdiff
path: root/tests/specs/worker/worker_ids_are_sequential
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/worker/worker_ids_are_sequential')
-rw-r--r--tests/specs/worker/worker_ids_are_sequential/__test__.jsonc5
-rw-r--r--tests/specs/worker/worker_ids_are_sequential/worker_ids_are_sequential.ts34
-rw-r--r--tests/specs/worker/worker_ids_are_sequential/worker_ids_are_sequential.ts.out4
3 files changed, 43 insertions, 0 deletions
diff --git a/tests/specs/worker/worker_ids_are_sequential/__test__.jsonc b/tests/specs/worker/worker_ids_are_sequential/__test__.jsonc
new file mode 100644
index 000000000..b90bebac8
--- /dev/null
+++ b/tests/specs/worker/worker_ids_are_sequential/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run --quiet -A worker_ids_are_sequential.ts",
+ "output": "worker_ids_are_sequential.ts.out",
+ "exitCode": 0
+}
diff --git a/tests/specs/worker/worker_ids_are_sequential/worker_ids_are_sequential.ts b/tests/specs/worker/worker_ids_are_sequential/worker_ids_are_sequential.ts
new file mode 100644
index 000000000..eb90f0d47
--- /dev/null
+++ b/tests/specs/worker/worker_ids_are_sequential/worker_ids_are_sequential.ts
@@ -0,0 +1,34 @@
+import {
+ isMainThread,
+ parentPort,
+ threadId,
+ Worker,
+} from "node:worker_threads";
+
+console.log("threadId", threadId);
+
+if (isMainThread) {
+ const worker = new Worker(new URL(import.meta.url));
+ worker.on("message", (msg) => console.log("from worker:", msg));
+ worker.on("error", () => {
+ throw new Error("error");
+ });
+ worker.on("exit", (code) => {
+ if (code !== 0) {
+ reject(new Error(`Worker stopped with exit code ${code}`));
+ }
+ });
+} else if (threadId == 1) {
+ const worker = new Worker(new URL(import.meta.url));
+ worker.on("message", (msg) => console.log("from worker:", msg));
+ worker.on("error", () => {
+ throw new Error("error");
+ });
+ worker.on("exit", (code) => {
+ if (code !== 0) {
+ reject(new Error(`Worker stopped with exit code ${code}`));
+ }
+ });
+} else {
+ parentPort.postMessage("hello!");
+}
diff --git a/tests/specs/worker/worker_ids_are_sequential/worker_ids_are_sequential.ts.out b/tests/specs/worker/worker_ids_are_sequential/worker_ids_are_sequential.ts.out
new file mode 100644
index 000000000..1f0552864
--- /dev/null
+++ b/tests/specs/worker/worker_ids_are_sequential/worker_ids_are_sequential.ts.out
@@ -0,0 +1,4 @@
+threadId 0
+threadId 1
+threadId 2
+from worker: hello!