summaryrefslogtreecommitdiff
path: root/tests/specs/run/stdout_write_sync_async
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/run/stdout_write_sync_async')
-rw-r--r--tests/specs/run/stdout_write_sync_async/__test__.jsonc4
-rw-r--r--tests/specs/run/stdout_write_sync_async/stdout_write_sync_async.out200
-rw-r--r--tests/specs/run/stdout_write_sync_async/stdout_write_sync_async.ts14
3 files changed, 218 insertions, 0 deletions
diff --git a/tests/specs/run/stdout_write_sync_async/__test__.jsonc b/tests/specs/run/stdout_write_sync_async/__test__.jsonc
new file mode 100644
index 000000000..5032ca015
--- /dev/null
+++ b/tests/specs/run/stdout_write_sync_async/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run --quiet stdout_write_sync_async.ts",
+ "output": "stdout_write_sync_async.out"
+}
diff --git a/tests/specs/run/stdout_write_sync_async/stdout_write_sync_async.out b/tests/specs/run/stdout_write_sync_async/stdout_write_sync_async.out
new file mode 100644
index 000000000..91ebda1ca
--- /dev/null
+++ b/tests/specs/run/stdout_write_sync_async/stdout_write_sync_async.out
@@ -0,0 +1,200 @@
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
+Hello
diff --git a/tests/specs/run/stdout_write_sync_async/stdout_write_sync_async.ts b/tests/specs/run/stdout_write_sync_async/stdout_write_sync_async.ts
new file mode 100644
index 000000000..648999d8a
--- /dev/null
+++ b/tests/specs/run/stdout_write_sync_async/stdout_write_sync_async.ts
@@ -0,0 +1,14 @@
+const encoder = new TextEncoder();
+const pending = [];
+
+for (let i = 0; i < 100; i++) {
+ // some code that will cause stdout to be written
+ // synchronously while the async write might be occurring
+ console.log("Hello");
+ pending.push(Deno.stdout.write(encoder.encode("Hello\n")));
+ if (i % 10) {
+ await new Promise((resolve) => setTimeout(resolve, 0));
+ }
+}
+
+await Promise.all(pending);