| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
CI: https://ci.nodejs.org/job/node-test-commit/9967/ |
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
Is there a reason to add this listener? If there is an error in the future I think it would be better to see that error than an AssertionError('must not throw') message.
Sorry, something went wrong.
There was a problem hiding this comment.
🤔 and put assert.ifError?
Ok.
Sorry, something went wrong.
There was a problem hiding this comment.
It will just throw by default, which will cause the test to fail.
Sorry, something went wrong.
There was a problem hiding this comment.
But then you don't get which line... And since there are two almost identical calls it's a PITA (just been there while writing this test)
Sorry, something went wrong.
There was a problem hiding this comment.
I see. I think the ifError approach is fine then.
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
There was a problem hiding this comment.
A couple of nits with the test, but mostly LGTM
Sorry, something went wrong.
There was a problem hiding this comment.
checks for the issue in -> Refs:
Sorry, something went wrong.
There was a problem hiding this comment.
Ack
Sorry, something went wrong.
There was a problem hiding this comment.
Can you replace the uses of assert.ifError() with common.mustNotCall(). You can provide a custom message with the latter if you'd like.
Sorry, something went wrong.
There was a problem hiding this comment.
See #13092 (comment)
@AndreasMadsen suggested that we might want to see the actual error.
(Maybe we need mustNotErr like assert.doesNotThrow)
Sorry, something went wrong.
There was a problem hiding this comment.
OK, you might want to use assert.fail() instead. ifError() implies that there might not be an error, but in this case, we know that there is one.
Sorry, something went wrong.
There was a problem hiding this comment.
Added a factory method mustNotErr that calls assert.fail so the fail point will appear in the stack
Sorry, something went wrong.
There was a problem hiding this comment.
Isn't this redundant?
Sorry, something went wrong.
There was a problem hiding this comment.
In a sense yes, I just wanted to be explicit about the pain point.
I could replace this with a comment.
Sorry, something went wrong.
There was a problem hiding this comment.
Couldn't you drop the try...catch completely, and if it happens to throw, it will fail the test.
Sorry, something went wrong.
There was a problem hiding this comment.
Ack. Replaced with a comment
Sorry, something went wrong.
There was a problem hiding this comment.
Sorry if my previous comment was unclear. I just meant to write this as:
Refs: #13045
Sorry, something went wrong.
There was a problem hiding this comment.
Ack
Sorry, something went wrong.
There was a problem hiding this comment.
I don't understand why you need this. You can just pass assert.fail (without the parens) as the handler, everywhere you use mustNotErr().
Sorry, something went wrong.
There was a problem hiding this comment.
Tried it, then there is no frame for the line with the failing assert (Actually the factory is not a solution I need explicit (err) => assert.fail(err))
Generated error by setting port: port + 1
with (err) => assert.fail(err)
assert.js:92
throw new AssertionError({
^
AssertionError [ERR_ASSERTION]: Error: write EPROTO 101057795:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794:
at ClientRequest.req.on (D:\code\node-cur\test\parallel\test-async-wrap-GH13045.js:63:35)
at emitOne (events.js:115:13)
at ClientRequest.emit (events.js:210:7)
at TLSSocket.socketErrorListener (_http_client.js:397:9)
at emitOne (events.js:115:13)
at TLSSocket.emit (events.js:210:7)
at onwriteError (_stream_writable.js:359:10)
at onwrite (_stream_writable.js:377:5)
at fireErrorCallbacks (net.js:522:13)
at TLSSocket.Socket._destroy (net.js:563:3)with just assert.fail
assert.js:92
throw new AssertionError({
^
AssertionError [ERR_ASSERTION]: Error: write EPROTO 101057795:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794:
at emitOne (events.js:115:13)
at ClientRequest.emit (events.js:210:7)
at TLSSocket.socketErrorListener (_http_client.js:397:9)
at emitOne (events.js:115:13)
at TLSSocket.emit (events.js:210:7)
at onwriteError (_stream_writable.js:359:10)
at onwrite (_stream_writable.js:377:5)
at fireErrorCallbacks (net.js:522:13)
at TLSSocket.Socket._destroy (net.js:563:3)
at WriteWrap.afterWrite [as oncomplete] (net.js:857:10)
Sorry, something went wrong.
|
Sounds correct to me. |
Sorry, something went wrong.
|
Can we get a CITGM run? that has been the main blocker for me. |
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
Isn't this more or less equivalent to just not adding an 'error' listener? Similarly with the 'error' handlers above.
Sorry, something went wrong.
There was a problem hiding this comment.
See #13092 (comment) and #13092 (comment)
Sorry, something went wrong.
There was a problem hiding this comment.
In that case, I'm -0 on it.
Sorry, something went wrong.
There was a problem hiding this comment.
Add the response handler as a second argument here for consistency?
Sorry, something went wrong.
There was a problem hiding this comment.
Ditto about switching to https.get().
Sorry, something went wrong.
There was a problem hiding this comment.
ack, ack.
Sorry, something went wrong.
There was a problem hiding this comment.
common.mustCall((req, res) => { ... }, 2) ?
Sorry, something went wrong.
There was a problem hiding this comment.
ack.
Sorry, something went wrong.
There was a problem hiding this comment.
Are these last two options necessary?
Sorry, something went wrong.
There was a problem hiding this comment.
Just last one: AssertionError [ERR_ASSERTION]: Error: self signed certificate in certificate chain
Sorry, something went wrong.
There was a problem hiding this comment.
I think method: 'GET' could be dropped and .request() changed to .get() to avoid the need to req.end().
Sorry, something went wrong.
There was a problem hiding this comment.
ack
Sorry, something went wrong.
There was a problem hiding this comment.
This isn't needed, it's even the default.
Sorry, something went wrong.
There was a problem hiding this comment.
ack
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
Sorry, something went wrong.
|
Pre land CI:https://ci.nodejs.org/job/node-test-commit/10006/ Ping @trevnorris any comments? I would like to land this in a few hours. |
Sorry, something went wrong.
|
Post land CI: https://ci.nodejs.org/job/node-test-commit/10031/ |
Sorry, something went wrong.
|
This should likely be included in a larger async_wrap backport if it were to happen |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
When using an Agent for HTTPS, TLSSockets are reused and need to
have the ability to asyncReset from JS.
Fixes: #13045
(Not a complete solution. Does not solve custom Agent use case)
Checklist
Affected core subsystem(s)
async_wrap