mirror of
https://github.com/golang/sys.git
synced 2026-02-09 04:06:04 +03:00
OpenBSD (and likely NetBSD, but it's not enabled for these tests anyway) use a different sysctl API for fetching process information than FreeBSD and its derivatives. Change-Id: Id2ab10f170b788ba4d9bd45d3347f530555da23b Reviewed-on: https://go-review.googlesource.com/19232 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
48 lines
882 B
Go
48 lines
882 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 (
|
|
"runtime"
|
|
"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) {
|
|
if runtime.GOOS == "openbsd" {
|
|
t.Skip("kern.proc.pid does not exist on OpenBSD")
|
|
}
|
|
|
|
_, err := unix.SysctlRaw("kern.proc.pid", unix.Getpid())
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|