Skip to content

Commit 403cfcc

Browse files
committed
test: Switch from leaked-handles to wtfnode
See my comments at #2563 (comment)
1 parent 5446e0a commit 403cfcc

File tree

4 files changed

+34
-1
lines changed

4 files changed

+34
-1
lines changed

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"@types/tar-fs": "^2.0.0",
4848
"@types/tar-stream": "^2.1.0",
4949
"@types/ws": "^7.2.6",
50+
"@types/wtfnode": "^0.7.0",
5051
"@typescript-eslint/eslint-plugin": "^4.7.0",
5152
"@typescript-eslint/parser": "^4.7.0",
5253
"doctoc": "^1.4.0",
@@ -61,6 +62,7 @@
6162
"stylelint": "^13.0.0",
6263
"stylelint-config-recommended": "^3.0.0",
6364
"ts-node": "^9.0.0",
65+
"wtfnode": "^0.8.4",
6466
"typescript": "^4.1.3"
6567
},
6668
"resolutions": {

test/socket.test.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
import { field, logger } from "@coder/logger"
22
import * as fs from "fs-extra"
3-
import "leaked-handles"
43
import * as net from "net"
54
import * as path from "path"
65
import * as tls from "tls"
76
import { Emitter } from "../src/common/emitter"
87
import { SocketProxyProvider } from "../src/node/socket"
98
import { generateCertificate, tmpdir } from "../src/node/util"
9+
import * as wtfnode from "./wtfnode"
1010

1111
describe("SocketProxyProvider", () => {
12+
wtfnode.setup()
13+
1214
const provider = new SocketProxyProvider()
1315

1416
const onServerError = new Emitter<{ event: string; error: Error }>()

test/wtfnode.ts

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import * as wtfnode from "wtfnode"
2+
3+
let active = false
4+
5+
export function setup(): void {
6+
if (active) {
7+
return
8+
}
9+
active = true
10+
11+
const interval = 5000
12+
const wtfnodeDump = () => {
13+
wtfnode.dump()
14+
const t = setTimeout(wtfnodeDump, interval)
15+
t.unref()
16+
}
17+
const t = setTimeout(wtfnodeDump, interval)
18+
t.unref()
19+
}

yarn.lock

+10
Original file line numberDiff line numberDiff line change
@@ -1201,6 +1201,11 @@
12011201
dependencies:
12021202
"@types/node" "*"
12031203

1204+
"@types/wtfnode@^0.7.0":
1205+
version "0.7.0"
1206+
resolved "https://registry.yarnpkg.com/@types/wtfnode/-/wtfnode-0.7.0.tgz#e5d9c675bccc2f786830ffa40ffe8865f92057d9"
1207+
integrity sha512-kdBHgE9+M1Os7UqWZtiLhKye5reFl8cPBYyCsP2fatwZRz7F7GdIxIHZ20Kkc0hYBfbXE+lzPOTUU1I0qgjtHA==
1208+
12041209
"@typescript-eslint/eslint-plugin@^4.7.0":
12051210
version "4.7.0"
12061211
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.7.0.tgz#85c9bbda00c0cb604d3c241f7bc7fb171a2d3479"
@@ -8022,6 +8027,11 @@ ws@^7.2.0:
80228027
resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
80238028
integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
80248029

8030+
wtfnode@^0.8.4:
8031+
version "0.8.4"
8032+
resolved "https://registry.yarnpkg.com/wtfnode/-/wtfnode-0.8.4.tgz#91ecf78a40ce222a73a063f26d72bea52357efcc"
8033+
integrity sha512-64GEKtMt/MUBuAm+8kHqP74ojjafzu00aT0JKsmkIwYmjRQ/odO0yhbzKLm+Z9v1gMla+8dwITRKzTAlHsB+Og==
8034+
80258035
x-is-string@^0.1.0:
80268036
version "0.1.0"
80278037
resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"

0 commit comments

Comments
 (0)