diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2025-01-17 10:23:56 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2025-01-17 10:17:44 +0000 |
| commit | 953d1c45a16b7284725e337b47369a8ab111bab4 (patch) | |
| tree | 9e6f77d744cd85ff1def42ce3864e7c6f0541ccd /pkg/osutil | |
| parent | bb91bdd45a9407e6594eb36266e74db1e50210a0 (diff) | |
pkg/manager: show bug first time
This allows to understand if a bug is new
(found in the current run) or old.
Diffstat (limited to 'pkg/osutil')
| -rw-r--r-- | pkg/osutil/osutil.go | 6 | ||||
| -rw-r--r-- | pkg/osutil/osutil_bsd.go | 5 | ||||
| -rw-r--r-- | pkg/osutil/osutil_darwin.go | 5 | ||||
| -rw-r--r-- | pkg/osutil/osutil_fuchsia.go | 5 | ||||
| -rw-r--r-- | pkg/osutil/osutil_linux.go | 5 | ||||
| -rw-r--r-- | pkg/osutil/osutil_windows.go | 5 |
6 files changed, 31 insertions, 0 deletions
diff --git a/pkg/osutil/osutil.go b/pkg/osutil/osutil.go index f4a3cac18..c9ee98412 100644 --- a/pkg/osutil/osutil.go +++ b/pkg/osutil/osutil.go @@ -351,6 +351,12 @@ func Abs(path string) string { return filepath.Clean(path) } +// CreationTime returns file creation time. +// May return zero time, if not known. +func CreationTime(fi os.FileInfo) time.Time { + return creationTime(fi) +} + // MonotonicNano returns monotonic time in nanoseconds from some unspecified point in time. // Useful mostly to measure time intervals. // This function should be used inside of tested VMs b/c time.Now may reject to use monotonic time diff --git a/pkg/osutil/osutil_bsd.go b/pkg/osutil/osutil_bsd.go index b54c9126f..b26c91ff7 100644 --- a/pkg/osutil/osutil_bsd.go +++ b/pkg/osutil/osutil_bsd.go @@ -8,8 +8,13 @@ package osutil import ( "os" "os/exec" + "time" ) +func creationTime(fi os.FileInfo) time.Time { + return time.Time{} +} + func RemoveAll(dir string) error { return os.RemoveAll(dir) } diff --git a/pkg/osutil/osutil_darwin.go b/pkg/osutil/osutil_darwin.go index 22c667ed7..0b1f30711 100644 --- a/pkg/osutil/osutil_darwin.go +++ b/pkg/osutil/osutil_darwin.go @@ -6,8 +6,13 @@ package osutil import ( "os" "os/exec" + "time" ) +func creationTime(fi os.FileInfo) time.Time { + return time.Time{} +} + func RemoveAll(dir string) error { return os.RemoveAll(dir) } diff --git a/pkg/osutil/osutil_fuchsia.go b/pkg/osutil/osutil_fuchsia.go index 4103e7f52..1ebd64eb4 100644 --- a/pkg/osutil/osutil_fuchsia.go +++ b/pkg/osutil/osutil_fuchsia.go @@ -9,8 +9,13 @@ import ( "fmt" "os" "os/exec" + "time" ) +func creationTime(fi os.FileInfo) time.Time { + return time.Time{} +} + func HandleInterrupts(shutdown chan struct{}) { } diff --git a/pkg/osutil/osutil_linux.go b/pkg/osutil/osutil_linux.go index 6585713ac..63743a5f2 100644 --- a/pkg/osutil/osutil_linux.go +++ b/pkg/osutil/osutil_linux.go @@ -17,6 +17,11 @@ import ( "golang.org/x/sys/unix" ) +func creationTime(fi os.FileInfo) time.Time { + st := fi.Sys().(*syscall.Stat_t) + return time.Unix(int64(st.Ctim.Sec), int64(st.Ctim.Nsec)) // nolint: unconvert +} + // RemoveAll is similar to os.RemoveAll, but can handle more cases. func RemoveAll(dir string) error { files, _ := os.ReadDir(dir) diff --git a/pkg/osutil/osutil_windows.go b/pkg/osutil/osutil_windows.go index 8a0e8b77a..c5763b677 100644 --- a/pkg/osutil/osutil_windows.go +++ b/pkg/osutil/osutil_windows.go @@ -8,8 +8,13 @@ import ( "os" "os/exec" "syscall" + "time" ) +func creationTime(fi os.FileInfo) time.Time { + return time.Time{} +} + func HandleInterrupts(shutdown chan struct{}) { } |
