Merge pull request #1389 from wojas/fix-modtime-tests-on-apfs

Fix modtime tests on APFS: allow 1us difference
This commit is contained in:
Alexander Neumann 2017-10-29 14:20:40 +01:00
commit 526aaca6f5
1 changed files with 11 additions and 1 deletions

View File

@ -71,7 +71,17 @@ func sameModTime(fi1, fi2 os.FileInfo) bool {
}
}
return fi1.ModTime().Equal(fi2.ModTime())
same := fi1.ModTime().Equal(fi2.ModTime())
if !same && runtime.GOOS == "darwin" {
// Allow up to 1μs difference, because macOS <10.13 cannot restore
// with nanosecond precision and the current version of Go (1.9.2)
// does not yet support the new syscall. (#1087)
mt1 := fi1.ModTime()
mt2 := fi2.ModTime()
usecDiff := (mt1.Nanosecond()-mt2.Nanosecond())/1000 + (mt1.Second()-mt2.Second())*1000000
same = usecDiff <= 1 && usecDiff >= -1
}
return same
}
// directoriesEqualContents checks if both directories contain exactly the same