-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
fs.watch error message includes filename #2748
Conversation
@@ -1213,7 +1213,9 @@ function FSWatcher() { | |||
this._handle.onchange = function(status, event, filename) { | |||
if (status < 0) { | |||
self._handle.close(); | |||
self.emit('error', errnoException(status, 'watch')); | |||
var error = errnoException(status, 'watch ' + filename); |
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 let
instead of var
, and a template string instead of concatenation.
You changed two code paths, but only added a test for one. Can you test for the other too? |
Thanks for the review. Code comments addressed. I don't actually know how to test the other code path. which is an error occurring while watching a file. Any suggestions? |
assert(err); | ||
assert(/non-existent-file/.test(err)); | ||
assert.equal(err.filename, 'non-existent-file'); | ||
return true; |
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 is not necessary.
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.
unfortunately it is. If the function doesn't return true, it throws the 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.
@charlierudolph Oops, sorry. My bad.
Even if it's non-standard, might be worth going with camelCased |
One important difference is that |
@cjihrig bump. Anything else this PR needs? |
@@ -1213,7 +1213,9 @@ function FSWatcher() { | |||
this._handle.onchange = function(status, event, filename) { | |||
if (status < 0) { | |||
self._handle.close(); | |||
self.emit('error', errnoException(status, 'watch')); | |||
let error = errnoException(status, `watch ${filename}`); |
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 actually be const
It LGTM, but I'd really like a test for the
|
okay @cjihrig the emit path now has a test. |
}); | ||
|
||
var watcher = fs.watch(__filename); | ||
watcher.on('error', 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.
Instead of creating watcherErrorCaught
, you can just wrap this function in common.mustCall()
. That way you can ensure it was called, and fail the test if it's not.
One comment, but this LGTM |
Oh, and can you squash this down to a single commit? |
Switched to using common.mustCall and squashed to a single commit. |
That build is very complex to traverse. Okay from the link provided I got to The build page shows another commit is being tested in addition to mine. |
Don't worry about that test. It fails often. |
This commit adds the relevant filename to fs.watch() errors. Refs: nodejs/node-v0.x-archive#25542 PR-URL: #2748 Reviewed-By: Colin Ihrig <[email protected]>
Thanks! Landed in 87e820e |
This commit adds the relevant filename to fs.watch() errors. Refs: nodejs/node-v0.x-archive#25542 PR-URL: #2748 Reviewed-By: Colin Ihrig <[email protected]>
Brought over from nodejs/node-v0.x-archive#25542