summaryrefslogtreecommitdiff
path: root/std/http/test_util.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/http/test_util.ts')
-rw-r--r--std/http/test_util.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/std/http/test_util.ts b/std/http/test_util.ts
new file mode 100644
index 000000000..c86a339a7
--- /dev/null
+++ b/std/http/test_util.ts
@@ -0,0 +1,20 @@
+import { assert } from "../testing/asserts.ts";
+
+function* portIterator(): IterableIterator<number> {
+ // use 55001 ~ 65535 (rest (49152~55000) are for cli/js)
+ let i = 55001;
+ while (true) {
+ yield i;
+ i++;
+ if (i > 65535) {
+ i = 55001;
+ }
+ }
+}
+const it = portIterator();
+/** Obtain (maybe) safe port number for net tests */
+export function randomPort(): number {
+ const { value } = it.next();
+ assert(value != null);
+ return value;
+}