Add GetTimes, implemented for darwin.

geesefs-0-30-9
Aaron Jacobs 2016-01-11 10:26:22 +11:00
parent 895b8c4155
commit 850146a678
2 changed files with 14 additions and 0 deletions

View File

@ -18,6 +18,7 @@ import (
"fmt"
"os"
"reflect"
"syscall"
"time"
"github.com/jacobsa/oglematchers"
@ -95,6 +96,12 @@ func birthtimeIsWithin(
return nil
}
// Extract time information from the supplied file info. Panic on platforms
// where this is not possible.
func GetTimes(fi os.FileInfo) (atime, ctime, mtime time.Time) {
return getTimes(fi.Sys().(*syscall.Stat_t))
}
// Match os.FileInfo values that specify a number of links equal to the given
// number. On platforms where there is no nlink field available, match all
// os.FileInfo values.

View File

@ -36,3 +36,10 @@ func extractNlink(sys interface{}) (nlink uint64, ok bool) {
ok = true
return
}
func getTimes(stat *syscall.Stat_t) (atime, ctime, mtime time.Time) {
atime = time.Unix(stat.Atimespec.Unix())
ctime = time.Unix(stat.Ctimespec.Unix())
mtime = time.Unix(stat.Mtimespec.Unix())
return
}