60 lines
1.1 KiB
Go
60 lines
1.1 KiB
Go
package test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/shirou/gopsutil"
|
|
)
|
|
|
|
func TestCpu_times(t *testing.T) {
|
|
v, err := gopsutil.CPUTimes(false)
|
|
if err != nil {
|
|
t.Errorf("error %v", err)
|
|
}
|
|
if len(v) == 0 {
|
|
t.Errorf("could not get CPUs ", err)
|
|
}
|
|
empty := gopsutil.CPUTimesStat{}
|
|
for _, vv := range v {
|
|
if vv == empty {
|
|
t.Errorf("could not get CPU User: %v", vv)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestCpu_counts(t *testing.T) {
|
|
v, err := gopsutil.CPUCounts(true)
|
|
if err != nil {
|
|
t.Errorf("error %v", err)
|
|
}
|
|
if v == 0 {
|
|
t.Errorf("could not get CPU counts: %v", v)
|
|
}
|
|
}
|
|
|
|
func TestCPUTimeStat_String(t *testing.T) {
|
|
v := gopsutil.CPUTimesStat{
|
|
CPU: "cpu0",
|
|
User: 100.1,
|
|
System: 200.1,
|
|
Idle: 300.1,
|
|
}
|
|
e := `{"cpu":"cpu0","user":100.1,"system":200.1,"idle":300.1,"nice":0,"iowait":0,"irq":0,"softirq":0,"steal":0,"guest":0,"guest_nice":0,"stolen":0}`
|
|
if e != fmt.Sprintf("%v", v) {
|
|
t.Errorf("CPUTimesStat string is invalid: %v", v)
|
|
}
|
|
}
|
|
|
|
func TestCpuInfo(t *testing.T) {
|
|
v, err := gopsutil.CPUInfo()
|
|
if err != nil {
|
|
t.Errorf("error %v", err)
|
|
}
|
|
for _, vv := range v {
|
|
if vv.ModelName == "" {
|
|
t.Errorf("could not get CPU Info: %v", vv)
|
|
}
|
|
}
|
|
}
|