summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/tests/integration/test_tests.rs5
-rw-r--r--cli/tests/testdata/test/ops_sanitizer_timeout_failure.out6
-rw-r--r--cli/tests/testdata/test/ops_sanitizer_timeout_failure.ts22
3 files changed, 33 insertions, 0 deletions
diff --git a/cli/tests/integration/test_tests.rs b/cli/tests/integration/test_tests.rs
index 3f23efca2..07c1b6c7d 100644
--- a/cli/tests/integration/test_tests.rs
+++ b/cli/tests/integration/test_tests.rs
@@ -151,6 +151,11 @@ itest!(ops_sanitizer_unstable {
output: "test/ops_sanitizer_unstable.out",
});
+itest!(ops_sanitizer_timeout_failure {
+ args: "test test/ops_sanitizer_timeout_failure.ts",
+ output: "test/ops_sanitizer_timeout_failure.out",
+});
+
itest!(exit_sanitizer {
args: "test test/exit_sanitizer.ts",
output: "test/exit_sanitizer.out",
diff --git a/cli/tests/testdata/test/ops_sanitizer_timeout_failure.out b/cli/tests/testdata/test/ops_sanitizer_timeout_failure.out
new file mode 100644
index 000000000..81a1af63b
--- /dev/null
+++ b/cli/tests/testdata/test/ops_sanitizer_timeout_failure.out
@@ -0,0 +1,6 @@
+Check [WILDCARD]/testdata/test/ops_sanitizer_timeout_failure.ts
+running 1 test from [WILDCARD]/testdata/test/ops_sanitizer_timeout_failure.ts
+test wait ... ok ([WILDCARD])
+
+test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out ([WILDCARD])
+
diff --git a/cli/tests/testdata/test/ops_sanitizer_timeout_failure.ts b/cli/tests/testdata/test/ops_sanitizer_timeout_failure.ts
new file mode 100644
index 000000000..d40a5a258
--- /dev/null
+++ b/cli/tests/testdata/test/ops_sanitizer_timeout_failure.ts
@@ -0,0 +1,22 @@
+let intervalHandle: number;
+let firstIntervalPromise: Promise<void>;
+
+addEventListener("load", () => {
+ firstIntervalPromise = new Promise((resolve) => {
+ let firstIntervalCalled = false;
+ intervalHandle = setInterval(() => {
+ if (!firstIntervalCalled) {
+ resolve();
+ firstIntervalCalled = true;
+ }
+ }, 5);
+ });
+});
+
+addEventListener("unload", () => {
+ clearInterval(intervalHandle);
+});
+
+Deno.test("wait", async function () {
+ await firstIntervalPromise;
+});