Skip to content
This repository was archived by the owner on Jul 21, 2023. It is now read-only.

Commit c7312db

Browse files
authored
fix: cannot catch EADDRINUSE (#198)
related to #184
1 parent e549691 commit c7312db

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ coverage
44
.nyc_output
55
docs
66
dist
7+
.coverage

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@
168168
"@multiformats/multiaddr-to-uri": "^9.0.2",
169169
"abortable-iterator": "^4.0.2",
170170
"err-code": "^3.0.1",
171-
"it-ws": "^5.0.0",
171+
"it-ws": "^5.0.6",
172172
"p-defer": "^4.0.0",
173173
"p-timeout": "^6.0.0",
174174
"wherearewe": "^2.0.1"

test/node.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
/* eslint max-nested-callbacks: ["error", 6] */
33

44
import https from 'https'
5+
import http from 'http'
56
import fs from 'fs'
67
import { expect } from 'aegir/chai'
78
import { multiaddr } from '@multiformats/multiaddr'
@@ -102,6 +103,14 @@ describe('listen', () => {
102103
void listener.listen(ma)
103104
})
104105

106+
it('should error on starting two listeners on same address', async () => {
107+
listener = ws.createListener({ upgrader })
108+
const dumbServer = http.createServer()
109+
await new Promise<void>(resolve => dumbServer.listen(ma.toOptions().port, resolve))
110+
await expect(listener.listen(ma)).to.eventually.rejectedWith('listen EADDRINUSE')
111+
await new Promise<void>(resolve => dumbServer.close(() => resolve()))
112+
})
113+
105114
it('listen, check for the close event', (done) => {
106115
const listener = ws.createListener({ upgrader })
107116

0 commit comments

Comments
 (0)