Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34.2k
Refactored test-http-allow-req-after-204-res file to use countdown#17211
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
Uh oh!
There was an error while loading. Please reload this page.
Conversation
mithunsasidharan commented Nov 22, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
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 was basically used as the counter, so i do not think it's necessary anymore (hardcoding the method into the request is enough).
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.
@Bamieh : Thanks. I've updated the PR. Kindly review!
aqrln left a comment
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 and thanks a lot for your contribution! I left a couple of comments.
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 please wrap the callback into common.mustCall()?
Something like this:
constcountdown=newCountdown(methods.length,common.mustCall(()=>{server.close();}));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.
Missing new line at the end of file.
mithunsasidharan commented Nov 22, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@aqrln : Thanks for the feedback. I've updated the PR with changes. I accidentally closed the PR...apologies for that. Kindly review! |
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.
Now that you removed the methods array, it should be codes.length, shouldn't it?
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.
@aqrln : Thanks. I've fixed it..kindly review.
aqrln commented Nov 22, 2017
jasnell commented Nov 22, 2017
CI is failing on this. |
thefourtheye commented Nov 26, 2017
This patch works diff --git a/test/common/countdown.js b/test/common/countdown.js index 6a22be0a07..93bdbbfb16 100644 --- a/test/common/countdown.js+++ b/test/common/countdown.js@@ -17,6 +17,7 @@ class Countdown{assert(this[kLimit] > 0, 'Countdown expired'); if (--this[kLimit] === 0) this[kCallback](); + return this[kLimit]; } get remaining(){diff --git a/test/parallel/test-http-allow-req-after-204-res.js b/test/parallel/test-http-allow-req-after-204-res.js index cd55a4f17c..53237f6677 100644 --- a/test/parallel/test-http-allow-req-after-204-res.js+++ b/test/parallel/test-http-allow-req-after-204-res.js@@ -23,12 +23,12 @@ const common = require('../common'); const http = require('http'); const assert = require('assert'); +const Countdown = require('../common/countdown'); // first 204 or 304 works, subsequent anything fails const codes = [204, 200]; -// Methods don't really matter, but we put in something realistic.-const methods = ['DELETE', 'DELETE'];+const countdown = new Countdown(codes.length, () => server.close()); const server = http.createServer(common.mustCall((req, res) =>{const code = codes.shift(); @@ -39,17 +39,13 @@ const server = http.createServer(common.mustCall((req, res) =>{}, codes.length)); function nextRequest(){- const method = methods.shift();-- const request = http.request({+ const request = http.get({ port: server.address().port, - method: method, path: '/' }, common.mustCall((response) =>{response.on('end', common.mustCall(() =>{- if (methods.length === 0){- server.close();- } else{+ if (countdown.dec()){ // throws error: nextRequest(); // works just fine: |
mithunsasidharan commented Nov 27, 2017
@thefourtheye : Thanks for suggesting the correction. I've update the PR. Kindly review! |
mithunsasidharan commented Nov 27, 2017
@maclover7 : Kindly run the CI for this PR too. Thanks ! |
aqrln commented Nov 28, 2017
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.
No strong opinion, but instead of modifying common/countdown.js, you can just use the existing API and do something like
countdown.dec();if(countdown.remaining>0){ ... }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.
@aqrln : I feel making the change in countdown.jswill be better as it makes the test case condition more readable and save an extra line! Kindly suggest. Also, could you please run the CI. I've fixed the lint issues. Thanks.
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.
@mithunsasidharan sure, no problem. In the future, please run make -j4 test locally before pushing to the PR branch to save your time and the number of review iterations. Thanks!
aqrln commented Nov 28, 2017
mithunsasidharan commented Nov 29, 2017
addaleax commented Dec 1, 2017
Landed in f6926d5 Thanks for the contribution! ✨ 🎉 |
PR-URL: #17211 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Alexey Orlenko <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #17211 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Alexey Orlenko <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #17211 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Alexey Orlenko <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #17211 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Alexey Orlenko <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #17211 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Alexey Orlenko <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #17211 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Alexey Orlenko <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Refactored the test case
test-http-allow-req-after-204-resto use countdown, as per issue #17169Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passesAffected core subsystem(s)
test