From c2d5a9209eec005317395ec78f727f1a41f8a1cf Mon Sep 17 00:00:00 2001 From: Florian Weingarten Date: Thu, 9 Jul 2015 11:13:40 -0400 Subject: [PATCH] fix darwin integration tests --- cmd/restic/integration_helpers_test.go | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/cmd/restic/integration_helpers_test.go b/cmd/restic/integration_helpers_test.go index b934bb0a7..8f815a0fe 100644 --- a/cmd/restic/integration_helpers_test.go +++ b/cmd/restic/integration_helpers_test.go @@ -5,6 +5,7 @@ import ( "io/ioutil" "os" "path/filepath" + "runtime" "syscall" "testing" @@ -55,25 +56,32 @@ func walkDir(dir string) <-chan *dirEntry { func (e *dirEntry) equals(other *dirEntry) bool { if e.path != other.path { - fmt.Fprintf(os.Stderr, "%v: path does not match\n", e.path) + fmt.Fprintf(os.Stderr, "%v: path does not match (%v != %v)\n", e.path, e.path, other.path) return false } if e.fi.Mode() != other.fi.Mode() { - fmt.Fprintf(os.Stderr, "%v: mode does not match\n", e.path) + fmt.Fprintf(os.Stderr, "%v: mode does not match (%v != %v)\n", e.path, e.fi.Mode(), other.fi.Mode()) return false } - if e.fi.ModTime() != other.fi.ModTime() { - fmt.Fprintf(os.Stderr, "%v: ModTime does not match\n", e.path) - return false + if runtime.GOOS != "darwin" { + if e.fi.ModTime() != other.fi.ModTime() { + fmt.Fprintf(os.Stderr, "%v: ModTime does not match (%v != %v)\n", e.path, e.fi.ModTime(), other.fi.ModTime()) + return false + } } stat, _ := e.fi.Sys().(*syscall.Stat_t) stat2, _ := other.fi.Sys().(*syscall.Stat_t) - if stat.Uid != stat2.Uid || stat2.Gid != stat2.Gid { - fmt.Fprintf(os.Stderr, "%v: UID or GID do not match\n", e.path) + if stat.Uid != stat2.Uid { + fmt.Fprintf(os.Stderr, "%v: UID does not match (%v != %v)\n", e.path, stat.Uid, stat2.Uid) + return false + } + + if stat.Gid != stat2.Gid { + fmt.Fprintf(os.Stderr, "%v: GID does not match (%v != %v)\n", e.path, stat.Gid, stat2.Gid) return false }