Add Darwin specific mem.VirtualMemory() tests

pull/161/head
Johan Walles 9 years ago
parent 3166d41538
commit 5771ea9465

@ -4,9 +4,11 @@ package mem
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
) )
var vm_stat_out = ` var vmStatOut = `
Mach Virtual Memory Statistics: (page size of 4096 bytes) Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free: 105885. Pages free: 105885.
Pages active: 725641. Pages active: 725641.
@ -34,7 +36,7 @@ Swapouts: 3283599.
func TestParseVmStat(t *testing.T) { func TestParseVmStat(t *testing.T) {
ret := &VirtualMemoryStat{} ret := &VirtualMemoryStat{}
err := parseVmStat(vm_stat_out, 4096, ret) err := parseVmStat(vmStatOut, 4096, ret)
if err != nil { if err != nil {
t.Errorf("Expected no error, got %s\n", err.Error()) t.Errorf("Expected no error, got %s\n", err.Error())
@ -65,3 +67,32 @@ func TestParseVmStat(t *testing.T) {
128967*4096+449242.*4096) 128967*4096+449242.*4096)
} }
} }
func TestVirtualMemoryDarwin(t *testing.T) {
v, err := VirtualMemory()
assert.Nil(t, err)
assert.True(t, v.Total > 0)
assert.True(t, v.Available > 0)
assert.True(t, v.Available < v.Total)
assert.Equal(t, v.Available, v.Total-v.Wired-v.Active, "%v", v)
assert.True(t, v.Used > 0)
assert.True(t, v.Used < v.Total)
assert.True(t, v.UsedPercent > 0)
assert.True(t, v.UsedPercent < 100)
assert.True(t, v.Free > 0)
assert.True(t, v.Free < v.Available)
assert.True(t, v.Active > 0)
assert.True(t, v.Active < v.Total)
assert.True(t, v.Inactive > 0)
assert.True(t, v.Inactive < v.Total)
assert.True(t, v.Wired > 0)
assert.True(t, v.Wired < v.Total)
}

Loading…
Cancel
Save