Skip to content

Commit 69cd64c

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

File tree

4 files changed

+34
-20
lines changed

4 files changed

+34
-20
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-19
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"
@@ -4524,15 +4529,6 @@ known-css-properties@^0.19.0:
45244529
resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.19.0.tgz#5d92b7fa16c72d971bda9b7fe295bdf61836ee5b"
45254530
integrity sha512-eYboRV94Vco725nKMlpkn3nV2+96p9c3gKXRsYqAJSswSENvBhN7n5L+uDhY58xQa0UukWsDMTGELzmD8Q+wTA==
45264531

4527-
leaked-handles@^5.2.0:
4528-
version "5.2.0"
4529-
resolved "https://registry.yarnpkg.com/leaked-handles/-/leaked-handles-5.2.0.tgz#67228e90293b7e0ee36c4190e1f541cddece627f"
4530-
integrity sha1-ZyKOkCk7fg7jbEGQ4fVBzd7OYn8=
4531-
dependencies:
4532-
process "^0.10.0"
4533-
weakmap-shim "^1.1.0"
4534-
xtend "^4.0.0"
4535-
45364532
levn@^0.4.1:
45374533
version "0.4.1"
45384534
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -6012,11 +6008,6 @@ process-nextick-args@~2.0.0:
60126008
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
60136009
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
60146010

6015-
process@^0.10.0:
6016-
version "0.10.1"
6017-
resolved "https://registry.yarnpkg.com/process/-/process-0.10.1.tgz#842457cc51cfed72dc775afeeafb8c6034372725"
6018-
integrity sha1-hCRXzFHP7XLcd1r+6vuMYDQ3JyU=
6019-
60206011
process@^0.11.10:
60216012
version "0.11.10"
60226013
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
@@ -7931,11 +7922,6 @@ wcwidth@^1.0.1:
79317922
dependencies:
79327923
defaults "^1.0.3"
79337924

7934-
weakmap-shim@^1.1.0:
7935-
version "1.1.1"
7936-
resolved "https://registry.yarnpkg.com/weakmap-shim/-/weakmap-shim-1.1.1.tgz#d65afd784109b2166e00ff571c33150ec2a40b49"
7937-
integrity sha1-1lr9eEEJshZuAP9XHDMVDsKkC0k=
7938-
79397925
webidl-conversions@^4.0.2:
79407926
version "4.0.2"
79417927
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
@@ -8022,6 +8008,11 @@ ws@^7.2.0:
80228008
resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
80238009
integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
80248010

8011+
wtfnode@^0.8.4:
8012+
version "0.8.4"
8013+
resolved "https://registry.yarnpkg.com/wtfnode/-/wtfnode-0.8.4.tgz#91ecf78a40ce222a73a063f26d72bea52357efcc"
8014+
integrity sha512-64GEKtMt/MUBuAm+8kHqP74ojjafzu00aT0JKsmkIwYmjRQ/odO0yhbzKLm+Z9v1gMla+8dwITRKzTAlHsB+Og==
8015+
80258016
x-is-string@^0.1.0:
80268017
version "0.1.0"
80278018
resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"

0 commit comments

Comments
 (0)