diff options
Diffstat (limited to '')
-rw-r--r-- | dependencies/pkg/mod/golang.org/x/sys@v0.1.0/unix/syscall_netbsd_test.go | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/dependencies/pkg/mod/golang.org/x/sys@v0.1.0/unix/syscall_netbsd_test.go b/dependencies/pkg/mod/golang.org/x/sys@v0.1.0/unix/syscall_netbsd_test.go new file mode 100644 index 0000000..aac4320 --- /dev/null +++ b/dependencies/pkg/mod/golang.org/x/sys@v0.1.0/unix/syscall_netbsd_test.go @@ -0,0 +1,74 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix_test + +import ( + "os" + "testing" + + "golang.org/x/sys/unix" +) + +// stringsFromByteSlice converts a sequence of attributes to a []string. +// On NetBSD, each entry consists of a single byte containing the length +// of the attribute name, followed by the attribute name. +// The name is _not_ NULL-terminated. +func stringsFromByteSlice(buf []byte) []string { + var result []string + i := 0 + for i < len(buf) { + next := i + 1 + int(buf[i]) + result = append(result, string(buf[i+1:next])) + i = next + } + return result +} + +func TestIoctlPtmget(t *testing.T) { + fd, err := unix.Open("/dev/ptmx", unix.O_NOCTTY|unix.O_RDWR, 0666) + if err != nil { + t.Skip("failed to open /dev/ptmx, skipping test") + } + defer unix.Close(fd) + + ptm, err := unix.IoctlGetPtmget(fd, unix.TIOCPTSNAME) + if err != nil { + t.Fatalf("IoctlGetPtmget: %v\n", err) + } + + t.Logf("sfd = %v, ptsname = %v", ptm.Sfd, unix.ByteSliceToString(ptm.Sn[:])) +} + +func TestStatvfs(t *testing.T) { + defer chtmpdir(t)() + touch(t, "file1") + + var statvfs1, statvfs2 unix.Statvfs_t + err := unix.Statvfs("file1", &statvfs1) + if err != nil { + t.Fatalf("Statvfs: %v", err) + } + + f, err := os.Open("file1") + if err != nil { + t.Fatal(err) + } + defer f.Close() + + err = unix.Fstatvfs(int(f.Fd()), &statvfs2) + if err != nil { + t.Fatalf("Fstatvfs: %v", err) + } + + if statvfs2.Fsid != statvfs1.Fsid { + t.Errorf("Fstatvfs: got fsid %v, expected %v", statvfs2.Fsid, statvfs1.Fsid) + } + if statvfs2.Owner != statvfs1.Owner { + t.Errorf("Fstatvfs: got owner %v, expected %v", statvfs2.Owner, statvfs1.Owner) + } + if statvfs2.Fstypename != statvfs1.Fstypename { + t.Errorf("Fstatvfs: got fstypename %s, expected %s", statvfs2.Fstypename, statvfs1.Fstypename) + } +} |