Archived
1
0

refactor: create test/utils

This commit is contained in:
Joe Previte
2021-03-09 16:33:39 -07:00
parent b468597872
commit cf6fdb90eb
7 changed files with 41 additions and 26 deletions

35
test/utils/wtfnode.ts Normal file
View File

@ -0,0 +1,35 @@
import * as util from "util"
import * as wtfnode from "wtfnode"
// Jest seems to hijack console.log in a way that makes the output difficult to
// read. So we'll write directly to process.stderr instead.
const write = (...args: [any, ...any]) => {
if (args.length > 0) {
process.stderr.write(util.format(...args) + "\n")
}
}
wtfnode.setLogger("info", write)
wtfnode.setLogger("warn", write)
wtfnode.setLogger("error", write)
let active = false
/**
* Start logging open handles periodically. This can be used to see what is
* hanging open if anything.
*/
export function setup(): void {
if (active) {
return
}
active = true
const interval = 5000
const wtfnodeDump = () => {
wtfnode.dump()
const t = setTimeout(wtfnodeDump, interval)
t.unref()
}
const t = setTimeout(wtfnodeDump, interval)
t.unref()
}