summaryrefslogtreecommitdiff
path: root/tests/testdata/workers
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testdata/workers')
-rw-r--r--tests/testdata/workers/worker_ids_are_sequential.ts34
-rw-r--r--tests/testdata/workers/worker_ids_are_sequential.ts.out4
2 files changed, 38 insertions, 0 deletions
diff --git a/tests/testdata/workers/worker_ids_are_sequential.ts b/tests/testdata/workers/worker_ids_are_sequential.ts
new file mode 100644
index 000000000..eb90f0d47
--- /dev/null
+++ b/tests/testdata/workers/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/testdata/workers/worker_ids_are_sequential.ts.out b/tests/testdata/workers/worker_ids_are_sequential.ts.out
new file mode 100644
index 000000000..1f0552864
--- /dev/null
+++ b/tests/testdata/workers/worker_ids_are_sequential.ts.out
@@ -0,0 +1,4 @@
+threadId 0
+threadId 1
+threadId 2
+from worker: hello!