shirou_gopsutil/mem/mem_test.go

78 lines
1.8 KiB
Go
Raw Normal View History

2014-12-30 21:09:05 +08:00
package mem
2014-04-18 15:34:47 +08:00
import (
"fmt"
"runtime"
2014-04-18 15:34:47 +08:00
"testing"
"github.com/stretchr/testify/assert"
2014-04-18 15:34:47 +08:00
)
func TestVirtual_memory(t *testing.T) {
if runtime.GOOS == "solaris" {
t.Skip("Only .Total is supported on Solaris")
}
v, err := VirtualMemory()
2014-04-18 15:34:47 +08:00
if err != nil {
t.Errorf("error %v", err)
}
empty := &VirtualMemoryStat{}
2014-05-12 10:51:08 +08:00
if v == empty {
t.Errorf("error %v", v)
}
assert.True(t, v.Total > 0)
assert.True(t, v.Available > 0)
assert.True(t, v.Used > 0)
assert.Equal(t, v.Total, v.Available+v.Used,
"Total should be computable from available + used: %v", v)
assert.True(t, v.Free > 0)
assert.True(t, v.Available > v.Free,
"Free should be a subset of Available: %v", v)
assert.InDelta(t, v.UsedPercent,
100*float64(v.Used)/float64(v.Total), 0.1,
"UsedPercent should be how many percent of Total is Used: %v", v)
2014-04-18 15:34:47 +08:00
}
func TestSwap_memory(t *testing.T) {
v, err := SwapMemory()
2014-04-18 15:34:47 +08:00
if err != nil {
t.Errorf("error %v", err)
}
empty := &SwapMemoryStat{}
2014-05-12 10:51:08 +08:00
if v == empty {
t.Errorf("error %v", v)
}
}
func TestVirtualMemoryStat_String(t *testing.T) {
v := VirtualMemoryStat{
2014-05-12 10:51:08 +08:00
Total: 10,
Available: 20,
Used: 30,
UsedPercent: 30.1,
Free: 40,
}
e := `{"total":10,"available":20,"used":30,"usedPercent":30.1,"free":40,"active":0,"inactive":0,"wired":0,"buffers":0,"cached":0,"writeback":0,"dirty":0,"writebacktmp":0,"shared":0,"slab":0,"pagetables":0,"swapcached":0}`
2014-05-12 10:51:08 +08:00
if e != fmt.Sprintf("%v", v) {
t.Errorf("VirtualMemoryStat string is invalid: %v", v)
}
}
func TestSwapMemoryStat_String(t *testing.T) {
v := SwapMemoryStat{
2014-05-12 10:51:08 +08:00
Total: 10,
Used: 30,
Free: 40,
UsedPercent: 30.1,
}
e := `{"total":10,"used":30,"free":40,"usedPercent":30.1,"sin":0,"sout":0}`
2014-05-12 10:51:08 +08:00
if e != fmt.Sprintf("%v", v) {
t.Errorf("SwapMemoryStat string is invalid: %v", v)
}
2014-04-18 15:34:47 +08:00
}