Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Unified Diff: deploytool/managedfs/filesystem.go

Issue 2963503003: [errors] Greatly simplify common/errors package. (Closed)
Patch Set: fix nits Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « deploytool/cmd/luci_deploy/work.go ('k') | deploytool/managedfs/util.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: deploytool/managedfs/filesystem.go
diff --git a/deploytool/managedfs/filesystem.go b/deploytool/managedfs/filesystem.go
index e03ccc45f9fd9dacdec085184ea798a8b35ea502..52564366599b6819f2b230f4da65473e11b10205 100644
--- a/deploytool/managedfs/filesystem.go
+++ b/deploytool/managedfs/filesystem.go
@@ -64,7 +64,7 @@ type Filesystem struct {
func New(rootDir string) (*Filesystem, error) {
rootDir = filepath.Clean(rootDir)
if err := ensureDirectory(rootDir); err != nil {
- return nil, errors.Annotate(err).Reason("failed to create root directory").Err()
+ return nil, errors.Annotate(err, "failed to create root directory").Err()
}
fs := Filesystem{
rootDir: rootDir,
@@ -115,14 +115,13 @@ func (d *Dir) RelPath() string { return d.relPath }
// that targpath is under the Filesystem root.
func (d *Dir) RelPathFrom(targpath string) (string, error) {
if !isSubpath(d.fs.rootDir, targpath) {
- return "", errors.Reason("[%(path)s] is not a subpath of [%(root)s]").
- D("path", targpath).D("root", d.fs.rootDir).Err()
+ return "", errors.Reason("[%s] is not a subpath of [%s]", targpath, d.fs.rootDir).Err()
}
rel, err := filepath.Rel(d.String(), targpath)
if err != nil {
- return "", errors.Annotate(err).Reason("could not calculate relative path from [%(dir)s] to [%(path)s]").
- D("dir", d.String()).D("path", targpath).Err()
+ return "", errors.Annotate(err, "could not calculate relative path from [%s] to [%s]",
+ d.String(), targpath).Err()
}
return rel, nil
}
@@ -187,8 +186,7 @@ func (d *Dir) registerSubDir(elem string) (subDir *Dir) {
// If the described directory doesn't exist, it will be created.
func (d *Dir) EnsureDirectory(elem string, elems ...string) (*Dir, error) {
if !isValidSinglePathComponent(elem) {
- return nil, errors.Reason("invalid path component #0: %(comp)q").
- D("comp", elem).Err()
+ return nil, errors.Reason("invalid path component #0: %q", elem).Err()
}
// No element may have a path separator in it.
@@ -197,8 +195,7 @@ func (d *Dir) EnsureDirectory(elem string, elems ...string) (*Dir, error) {
components = append(components, elem)
for i, comp := range elems {
if !isValidSinglePathComponent(comp) {
- return nil, errors.Reason("invalid path component #%(index)d: %(comp)q").
- D("index", i+1).D("comp", comp).Err()
+ return nil, errors.Reason("invalid path component #%d: %q", i+1, comp).Err()
}
components = append(components, comp)
}
@@ -206,7 +203,7 @@ func (d *Dir) EnsureDirectory(elem string, elems ...string) (*Dir, error) {
// Make the full subdirectory path.
fullPath := filepath.Join(components...)
if err := ensureDirectory(fullPath); err != nil {
- return nil, errors.Annotate(err).Reason("failed to create directory [%(path)s]").D("path", fullPath).Err()
+ return nil, errors.Annotate(err, "failed to create directory [%s]", fullPath).Err()
}
// Return the last managed directory node.
@@ -217,7 +214,7 @@ func (d *Dir) EnsureDirectory(elem string, elems ...string) (*Dir, error) {
func (d *Dir) ShallowSymlinkFrom(dir string, rel bool) error {
fis, err := ioutil.ReadDir(dir)
if err != nil {
- return errors.Annotate(err).Reason("failed to read directory [%(path)s]").D("path", dir).Err()
+ return errors.Annotate(err, "failed to read directory [%s]", dir).Err()
}
for _, fi := range fis {
@@ -237,7 +234,7 @@ func (d *Dir) ShallowSymlinkFrom(dir string, rel bool) error {
// File creates a new managed File immediately within d.
func (d *Dir) File(name string) *File {
if !isValidSinglePathComponent(name) {
- panic(errors.Reason("invalid path component: %(name)q").D("name", name).Err())
+ panic(errors.Reason("invalid path component: %q", name).Err())
}
// Register this file with its managed directory.
@@ -291,7 +288,7 @@ func (d *Dir) cleanupLocked() error {
// List the contents of this directory.
fis, err := ioutil.ReadDir(d.String())
if err != nil {
- return errors.Annotate(err).Reason("failed to read directory %(dir)q").D("dir", d.String()).Err()
+ return errors.Annotate(err, "failed to read directory %q", d.String()).Err()
}
for _, fi := range fis {
@@ -317,12 +314,12 @@ func (d *Dir) cleanupLocked() error {
// Safety / sanity check, the path under consideration for deletion MUST be
// underneath of our filesystem's root.
if !isSubpath(d.fs.rootDir, fiPath) {
- panic(errors.Reason("about to delete [%(path)q], which is not a subdirectory of [%(root)q]").
- D("path", fiPath).D("root", d.fs.rootDir).Err())
+ panic(errors.Reason("about to delete [%q], which is not a subdirectory of [%q]",
+ fiPath, d.fs.rootDir).Err())
}
if err := os.RemoveAll(fiPath); err != nil {
- return errors.Annotate(err).Reason("failed to delete unmanaged [%(path)q]").D("path", fiPath).Err()
+ return errors.Annotate(err, "failed to delete unmanaged [%q]", fiPath).Err()
}
}
return nil
@@ -355,15 +352,14 @@ func (f *File) SymlinkFrom(from string, rel bool) error {
// Assert that our "from" field exists.
if _, err := os.Stat(from); err != nil {
- return errors.Annotate(err).Reason("failed to stat symlink from [%(path)s]").
- D("path", from).Err()
+ return errors.Annotate(err, "failed to stat symlink from [%s]", from).Err()
}
// "from" must be a path under the filesystem base.
if rel {
var err error
if from, err = f.dir.RelPathFrom(from); err != nil {
- return errors.Annotate(err).Reason("failed to calculate relative path").Err()
+ return errors.Annotate(err, "failed to calculate relative path").Err()
}
}
@@ -384,8 +380,7 @@ func (f *File) SymlinkFrom(from string, rel bool) error {
}
if err := os.Symlink(from, to); err != nil {
- return errors.Annotate(err).Reason("failed to symlink [%(from)s] => [%(to)s]").
- D("from", from).D("to", to).Err()
+ return errors.Annotate(err, "failed to symlink [%s] => [%s]", from, to).Err()
}
return nil
}
@@ -396,8 +391,7 @@ func (f *File) CopyFrom(src string) (rerr error) {
s, err := os.Open(src)
if err != nil {
- return errors.Annotate(err).Reason("failed to open [%(source)s]").
- D("source", src).Err()
+ return errors.Annotate(err, "failed to open [%s]", src).Err()
}
defer func() {
cerr := s.Close()
@@ -408,8 +402,7 @@ func (f *File) CopyFrom(src string) (rerr error) {
d, err := createFile(dst)
if err != nil {
- return errors.Annotate(err).Reason("failed to create [%(dest)s]").
- D("dest", dst).Err()
+ return errors.Annotate(err, "failed to create [%s]", dst).Err()
}
defer func() {
cerr := d.Close()
@@ -422,8 +415,7 @@ func (f *File) CopyFrom(src string) (rerr error) {
_, err = io.CopyBuffer(d, s, buf)
})
if err != nil {
- return errors.Annotate(err).Reason("failed to copy from [%(source)s] => [%(dest)s]").
- D("source", src).D("dest", dst).Err()
+ return errors.Annotate(err, "failed to copy from [%s] => [%s]", src, dst).Err()
}
return nil
}
@@ -438,8 +430,7 @@ func (f *File) SameAs(other string) (bool, error) {
if isNotExist(err) {
return false, nil
}
- return false, errors.Annotate(err).Reason("failed to stat [%(self)s]").
- D("self", myPath).Err()
+ return false, errors.Annotate(err, "failed to stat [%s]", myPath).Err()
}
otherStat, err := os.Lstat(other)
@@ -447,8 +438,7 @@ func (f *File) SameAs(other string) (bool, error) {
if isNotExist(err) {
return false, nil
}
- return false, errors.Annotate(err).Reason("failed to stat [%(other)s]").
- D("other", other).Err()
+ return false, errors.Annotate(err, "failed to stat [%s]", other).Err()
}
if os.SameFile(myStat, otherStat) {
@@ -458,15 +448,13 @@ func (f *File) SameAs(other string) (bool, error) {
// Not the same file, and both exist, so let's compare byte-for-byte.
myFD, err := os.Open(f.String())
if err != nil {
- return false, errors.Annotate(err).Reason("failed to open [%(self)s]").
- D("self", myPath).Err()
+ return false, errors.Annotate(err, "failed to open [%s]", myPath).Err()
}
defer myFD.Close()
otherFD, err := os.Open(other)
if err != nil {
- return false, errors.Annotate(err).Reason("failed to option [%(other)s]").
- D("other", other).Err()
+ return false, errors.Annotate(err, "failed to option [%s]", other).Err()
}
defer otherFD.Close()
@@ -477,8 +465,7 @@ func (f *File) SameAs(other string) (bool, error) {
})
})
if err != nil {
- return false, errors.Annotate(err).Reason("failed to compare files [%(self)s] to [$(other)s]").
- D("self", myPath).D("other", other).Err()
+ return false, errors.Annotate(err, "failed to compare files [%s] to [%s]", myPath, other).Err()
}
return same, nil
}
@@ -511,7 +498,7 @@ func (f *File) GenerateTextProto(c context.Context, msg proto.Message) error {
// Write YAML contents.
if err := proto.MarshalText(fd, msg); err != nil {
- return errors.Annotate(err).Err()
+ return errors.Annotate(err, "").Err()
}
return nil
})
@@ -549,7 +536,7 @@ func (f *File) GenerateYAML(c context.Context, obj interface{}) error {
// Write YAML contents.
if _, err := fd.Write(d); err != nil {
- return errors.Annotate(err).Err()
+ return errors.Annotate(err, "").Err()
}
return nil
})
@@ -582,7 +569,7 @@ func (f *File) GenerateGo(c context.Context, content string) error {
// Write Go content.
if _, err := fmt.Fprint(fd, content); err != nil {
- return errors.Annotate(err).Err()
+ return errors.Annotate(err, "").Err()
}
return nil
})
« no previous file with comments | « deploytool/cmd/luci_deploy/work.go ('k') | deploytool/managedfs/util.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698