Fix stat_unix_test on FreeBSD

This splits out the platform-specific parts to stat_linux_test.go and
stat_freebsd_test.go.

Signed-off-by: Doug Rabson <dfr@rabson.org>
This commit is contained in:
Doug Rabson 2022-09-17 16:37:04 +01:00
parent 21b6cd738e
commit 2dbb0d069e
3 changed files with 41 additions and 6 deletions

View File

@ -0,0 +1,19 @@
//go:build freebsd
// +build freebsd
package system
import (
"syscall"
"testing"
)
// TestFromStatT tests fromStatT for a tempfile
func platformTestFromStatT(t *testing.T, stat *syscall.Stat_t, s *StatT) {
if stat.Mode != uint16(s.Mode()) {
t.Fatal("got invalid mode")
}
if stat.Mtimespec != s.Mtim() {
t.Fatal("got invalid mtim")
}
}

View File

@ -0,0 +1,19 @@
//go:build linux
// +build linux
package system
import (
"syscall"
"testing"
)
// TestFromStatT tests fromStatT for a tempfile
func platformTestFromStatT(t *testing.T, stat *syscall.Stat_t, s *StatT) {
if stat.Mode != s.Mode() {
t.Fatal("got invalid mode")
}
if stat.Mtim != s.Mtim() {
t.Fatal("got invalid mtim")
}
}

View File

@ -22,9 +22,6 @@ func TestFromStatT(t *testing.T) {
t.Fatal(err)
}
if stat.Mode != s.Mode() {
t.Fatal("got invalid mode")
}
if stat.Uid != s.UID() {
t.Fatal("got invalid uid")
}
@ -34,7 +31,7 @@ func TestFromStatT(t *testing.T) {
if stat.Rdev != s.Rdev() {
t.Fatal("got invalid rdev")
}
if stat.Mtim != s.Mtim() {
t.Fatal("got invalid mtim")
}
// Types for Mode can vary and not all platforms have an Mtim
// member in Stat_t
platformTestFromStatT(t, stat, s)
}