summaryrefslogtreecommitdiff
path: root/std/http/test_util.ts
blob: c86a339a7f7ff0da3e3b477100ee905ae66d0559 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;
}