mirror of
https://github.com/golang/sys.git
synced 2026-02-08 19:56:04 +03:00
Add support for optional sysctl arguments which is required to support sysctls that require more than the mib identifer args as returned from nametomib such as kern.proc.pid. Add SysctlUint64 which allows sysctls that return 64 bit ints to be queried. Add SysctlRaw which allows sysctls that return structs or other unsupported types to be queried. Change-Id: If0fa23935ee09496f2df210364d8988ccd0f3db6 Reviewed-on: https://go-review.googlesource.com/14955 Reviewed-by: Ian Lance Taylor <iant@golang.org>
43 lines
783 B
Go
43 lines
783 B
Go
// Copyright 2014 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.
|
|
|
|
// +build darwin dragonfly freebsd openbsd
|
|
|
|
package unix_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"golang.org/x/sys/unix"
|
|
)
|
|
|
|
const MNT_WAIT = 1
|
|
|
|
func TestGetfsstat(t *testing.T) {
|
|
n, err := unix.Getfsstat(nil, MNT_WAIT)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
data := make([]unix.Statfs_t, n)
|
|
n, err = unix.Getfsstat(data, MNT_WAIT)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
empty := unix.Statfs_t{}
|
|
for _, stat := range data {
|
|
if stat == empty {
|
|
t.Fatal("an empty Statfs_t struct was returned")
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestSysctlRaw(t *testing.T) {
|
|
_, err := unix.SysctlRaw("kern.proc.pid", unix.Getpid())
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|