Skip to content
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

Wrap Open error and update TestOpen to check for fs.ErrNotExist #1149

Merged
merged 7 commits into from Aug 16, 2022

Conversation

prashantv
Copy link
Collaborator

This is a prefactor for Windows support (#621).

TestOpen currently relies on a hardcoded error "no such file or
directory" if a file is not found. However, this error message is
OS-specific. We can now rely on errors.Is(err, fs.ErrNotExist)
if we wrap errors using %w instead of %v.

This is a prefactor for Windows support (uber-go#621).

`TestOpen` currently relies on a hardcoded error "no such file or
directory" if a file is not found. However, this error message is
OS-specific.  We can now rely on `errors.Is(err, fs.ErrNotExist)`
if we wrap errors using `%w` instead of `%v`.
@codecov
Copy link

codecov bot commented Aug 16, 2022

Codecov Report

Merging #1149 (1d77f86) into master (4b03bc5) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #1149   +/-   ##
=======================================
  Coverage   98.32%   98.32%           
=======================================
  Files          49       49           
  Lines        2146     2146           
=======================================
  Hits         2110     2110           
  Misses         28       28           
  Partials        8        8           
Impacted Files Coverage Δ
writer.go 100.00% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Copy link
Collaborator

@abhinav abhinav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Left a few minor comments.

writer.go Outdated Show resolved Hide resolved
writer_test.go Outdated Show resolved Hide resolved
writer_test.go Outdated Show resolved Hide resolved
writer_test.go Outdated Show resolved Hide resolved
ErrorContains doesn't exist in 1.7.0.
Per [Error Strings][1] guidance, don't add a "couldn't do foo" or
"failed to do bar" to error messages when wrapping.

  [1]: https://github.com/uber-go/guide/blob/master/style.md#error-wrapping

This is to prevent long chains of "failed to x: failed to y: .." as
these errors tend to get wrapped before they're presented to the user.
Avoid too many branches in the table test in favor of simpler single
purpose tables:

- one for success
- one for not found errors
- one for other errors matched by message
@abhinav abhinav merged commit 19a5d8a into uber-go:master Aug 16, 2022
@prashantv prashantv deleted the prefactor_testopen branch August 16, 2022 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants