mirror of
https://github.com/shirou/gopsutil.git
synced 2025-04-26 13:48:59 +08:00

TestHostInfoStat_String has been broken since kernelArch has been introduced. Fix it. Also adjust the error message to show the wanted string, aligned with the gotten string so it's easier to spot differences.
163 lines
3.4 KiB
Go
163 lines
3.4 KiB
Go
package host
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestHostInfo(t *testing.T) {
|
|
v, err := Info()
|
|
if err != nil {
|
|
t.Errorf("error %v", err)
|
|
}
|
|
empty := &InfoStat{}
|
|
if v == empty {
|
|
t.Errorf("Could not get hostinfo %v", v)
|
|
}
|
|
if v.Procs == 0 {
|
|
t.Errorf("Could not determine the number of host processes")
|
|
}
|
|
}
|
|
|
|
func TestUptime(t *testing.T) {
|
|
if os.Getenv("CIRCLECI") == "true" {
|
|
t.Skip("Skip CI")
|
|
}
|
|
|
|
v, err := Uptime()
|
|
if err != nil {
|
|
t.Errorf("error %v", err)
|
|
}
|
|
if v == 0 {
|
|
t.Errorf("Could not get up time %v", v)
|
|
}
|
|
}
|
|
|
|
func TestBoot_time(t *testing.T) {
|
|
if os.Getenv("CIRCLECI") == "true" {
|
|
t.Skip("Skip CI")
|
|
}
|
|
v, err := BootTime()
|
|
if err != nil {
|
|
t.Errorf("error %v", err)
|
|
}
|
|
if v == 0 {
|
|
t.Errorf("Could not get boot time %v", v)
|
|
}
|
|
if v < 946652400 {
|
|
t.Errorf("Invalid Boottime, older than 2000-01-01")
|
|
}
|
|
t.Logf("first boot time: %d", v)
|
|
|
|
v2, err := BootTime()
|
|
if err != nil {
|
|
t.Errorf("error %v", err)
|
|
}
|
|
if v != v2 {
|
|
t.Errorf("cached boot time is different")
|
|
}
|
|
t.Logf("second boot time: %d", v2)
|
|
}
|
|
|
|
func TestUsers(t *testing.T) {
|
|
v, err := Users()
|
|
if err != nil {
|
|
t.Errorf("error %v", err)
|
|
}
|
|
empty := UserStat{}
|
|
if len(v) == 0 {
|
|
t.Fatal("Users is empty")
|
|
}
|
|
for _, u := range v {
|
|
if u == empty {
|
|
t.Errorf("Could not Users %v", v)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestHostInfoStat_String(t *testing.T) {
|
|
v := InfoStat{
|
|
Hostname: "test",
|
|
Uptime: 3000,
|
|
Procs: 100,
|
|
OS: "linux",
|
|
Platform: "ubuntu",
|
|
BootTime: 1447040000,
|
|
HostID: "edfd25ff-3c9c-b1a4-e660-bd826495ad35",
|
|
}
|
|
e := `{"hostname":"test","uptime":3000,"bootTime":1447040000,"procs":100,"os":"linux","platform":"ubuntu","platformFamily":"","platformVersion":"","kernelVersion":"","kernelArch":"","virtualizationSystem":"","virtualizationRole":"","hostid":"edfd25ff-3c9c-b1a4-e660-bd826495ad35"}`
|
|
if e != fmt.Sprintf("%v", v) {
|
|
t.Errorf("HostInfoStat string is invalid:\ngot %v\nwant %v", v, e)
|
|
}
|
|
}
|
|
|
|
func TestUserStat_String(t *testing.T) {
|
|
v := UserStat{
|
|
User: "user",
|
|
Terminal: "term",
|
|
Host: "host",
|
|
Started: 100,
|
|
}
|
|
e := `{"user":"user","terminal":"term","host":"host","started":100}`
|
|
if e != fmt.Sprintf("%v", v) {
|
|
t.Errorf("UserStat string is invalid: %v", v)
|
|
}
|
|
}
|
|
|
|
func TestHostGuid(t *testing.T) {
|
|
hi, err := Info()
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
if hi.HostID == "" {
|
|
t.Error("Host id is empty")
|
|
} else {
|
|
t.Logf("Host id value: %v", hi.HostID)
|
|
}
|
|
}
|
|
|
|
func TestTemperatureStat_String(t *testing.T) {
|
|
v := TemperatureStat{
|
|
SensorKey: "CPU",
|
|
Temperature: 1.1,
|
|
}
|
|
s := `{"sensorKey":"CPU","sensorTemperature":1.1}`
|
|
if s != fmt.Sprintf("%v", v) {
|
|
t.Errorf("TemperatureStat string is invalid")
|
|
}
|
|
}
|
|
|
|
func TestVirtualization(t *testing.T) {
|
|
system, role, err := Virtualization()
|
|
if err != nil {
|
|
t.Errorf("Virtualization() failed, %v", err)
|
|
}
|
|
|
|
t.Logf("Virtualization(): %s, %s", system, role)
|
|
}
|
|
|
|
func TestKernelVersion(t *testing.T) {
|
|
version, err := KernelVersion()
|
|
if err != nil {
|
|
t.Errorf("KernelVersion() failed, %v", err)
|
|
}
|
|
if version == "" {
|
|
t.Errorf("KernelVersion() returns empty: %s", version)
|
|
}
|
|
|
|
t.Logf("KernelVersion(): %s", version)
|
|
}
|
|
|
|
func TestPlatformInformation(t *testing.T) {
|
|
platform, family, version, err := PlatformInformation()
|
|
if err != nil {
|
|
t.Errorf("PlatformInformation() failed, %v", err)
|
|
}
|
|
if platform == "" {
|
|
t.Errorf("PlatformInformation() returns empty: %v", platform)
|
|
}
|
|
|
|
t.Logf("PlatformInformation(): %v, %v, %v", platform, family, version)
|
|
}
|