diff options
author | cjihrig <cjihrig@gmail.com> | 2017-05-23 11:51:41 -0400 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2017-05-26 12:21:16 -0400 |
commit | 6a18c1d8dd034767f86bc496e292ecb0dddf944f (patch) | |
tree | 5486164ec385148f742f987d7d0a5dd12213a1e2 /test/parallel/test-net-socket-write-after-close.js | |
parent | 0aa7ef595084bca35f76cb38e28a0efc7a3128a3 (diff) | |
download | android-node-v8-6a18c1d8dd034767f86bc496e292ecb0dddf944f.tar.gz android-node-v8-6a18c1d8dd034767f86bc496e292ecb0dddf944f.tar.bz2 android-node-v8-6a18c1d8dd034767f86bc496e292ecb0dddf944f.zip |
test: add coverage for socket write after close
This commit adds test coverage for the scenario where a socket's
handle has been closed prior to writing.
PR-URL: https://github.com/nodejs/node/pull/13171
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Diffstat (limited to 'test/parallel/test-net-socket-write-after-close.js')
-rw-r--r-- | test/parallel/test-net-socket-write-after-close.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/parallel/test-net-socket-write-after-close.js b/test/parallel/test-net-socket-write-after-close.js new file mode 100644 index 0000000000..6d2d2fdd02 --- /dev/null +++ b/test/parallel/test-net-socket-write-after-close.js @@ -0,0 +1,39 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const net = require('net'); + +{ + const server = net.createServer(); + + server.listen(common.mustCall(() => { + const port = server.address().port; + const client = net.connect({port}, common.mustCall(() => { + client.on('error', common.mustCall((err) => { + server.close(); + assert.strictEqual(err.constructor, Error); + assert.strictEqual(err.message, 'write EBADF'); + })); + client._handle.close(); + client.write('foo'); + })); + })); +} + +{ + const server = net.createServer(); + + server.listen(common.mustCall(() => { + const port = server.address().port; + const client = net.connect({port}, common.mustCall(() => { + client.on('error', common.mustCall((err) => { + server.close(); + assert.strictEqual(err.constructor, Error); + assert.strictEqual(err.message, 'This socket is closed'); + })); + client._handle.close(); + client._handle = null; + client.write('foo'); + })); + })); +} |