mirror of
https://github.com/restic/restic.git
synced 2024-12-24 16:54:00 +00:00
Darwin test fix: allow 1μs timestamp difference
On Darwin, allow a 1μs difference in restored timestamps, 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 required for this. (#1087 #1389)
This commit is contained in:
parent
e44ac55f63
commit
f3016a9096
1 changed files with 11 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue