-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
net: migrate errors to internal/errors #17766
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @kysnm! Thanks for the pull request! I have no comments on the code changes and will leave that to others, but I have two small nit-pick comments on the docs.
doc/api/errors.md
Outdated
### ERR_SERVER_NOT_RUNNING | ||
|
||
The [`server.close()`][] method was called when a `net.Server` was not running. This applies to all instances of `net.Server`, including HTTP, HTTPS, | ||
and HTTP/2 Server instances. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: "Server" should probably be either in backticks or else lowercase. (Either it is referring to a server generically, in which case lowercase, or it is referring to the Server
object, in which case backticks.)
doc/api/errors.md
Outdated
<a id="ERR_SERVER_NOT_RUNNING"></a> | ||
### ERR_SERVER_NOT_RUNNING | ||
|
||
The [`server.close()`][] method was called when a `net.Server` was not running. This applies to all instances of `net.Server`, including HTTP, HTTPS, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrap at 80 chars?
086f5f9
to
4f79622
Compare
@Trott |
@@ -59,7 +59,7 @@ server.listen(common.PIPE, common.mustCall(function() { | |||
server.close(common.mustCall(function(error) { | |||
assert.strictEqual(error, undefined); | |||
server.close(common.mustCall(function(error) { | |||
assert.strictEqual(error && error.message, 'Not running'); | |||
assert.strictEqual(error && error.code, 'ERR_SERVER_NOT_RUNNING'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you use common.expectsError()
to test this? This should be something like
common.expectsError({
code: 'ERR_SERVER_NOT_RUNNING',
message: 'Server is not running.',
type: Error
})(error);
@@ -13,10 +13,10 @@ server.listen(0, common.mustCall(function() { | |||
// Test destroy returns this, even on multiple calls when it short-circuits. | |||
assert.strictEqual(conn, conn.destroy().destroy()); | |||
conn.on('error', common.mustCall(function(err) { | |||
assert.strictEqual(err.message, 'This socket is closed'); | |||
assert.strictEqual(err.code, 'ERR_SOCKET_CLOSED'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above, please use common.expectsError
@@ -28,8 +28,7 @@ const net = require('net'); | |||
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'); | |||
assert.strictEqual(err.code, 'ERR_SOCKET_CLOSED'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto
@joyeecheung |
@@ -13,10 +13,18 @@ server.listen(0, common.mustCall(function() { | |||
// Test destroy returns this, even on multiple calls when it short-circuits. | |||
assert.strictEqual(conn, conn.destroy().destroy()); | |||
conn.on('error', common.mustCall(function(err) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The common.mustCall
is not necessary here. common.expectsError
creates a function that can receive an error and also makes sure that it actually ran.
})); | ||
conn.write(Buffer.from('kaboom'), common.mustCall(function(err) { | ||
assert.strictEqual(err.message, 'This socket is closed'); | ||
common.expectsError({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here.
@apapirovski |
code: 'ERR_SERVER_NOT_RUNNING', | ||
message: 'Server is not running.', | ||
type: Error | ||
})(error); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be simplified to...
server.close(common.expectsError({
code: 'ERR_SERVER_NOT_RUNNING',
message: 'Server is not running.',
type: Error
}));
@jasnell |
@kysnm .. there's no bother at all :-) thank you for doing this! |
There were some seemingly unrelated errors in the last CI. New CI: https://ci.nodejs.org/job/node-test-pull-request/12281/ |
Landed in b98aaa3, thanks! |
Throw ERR_SOCKET_CLOSED and ERR_SERVER_NOT_RUNNING instead of the old-style errors in net.js. PR-URL: #17766 Refs: #17709 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Refs: #17709
cc @jasnell @joyeecheung
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
doc, errors, net