diff --git a/mem/mem_darwin_test.go b/mem/mem_darwin_test.go index 730dc52..8db0e2d 100644 --- a/mem/mem_darwin_test.go +++ b/mem/mem_darwin_test.go @@ -4,9 +4,11 @@ package mem import ( "testing" + + "github.com/stretchr/testify/assert" ) -var vm_stat_out = ` +var vmStatOut = ` Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 105885. Pages active: 725641. @@ -34,7 +36,7 @@ Swapouts: 3283599. func TestParseVmStat(t *testing.T) { ret := &VirtualMemoryStat{} - err := parseVmStat(vm_stat_out, 4096, ret) + err := parseVmStat(vmStatOut, 4096, ret) if err != nil { t.Errorf("Expected no error, got %s\n", err.Error()) @@ -65,3 +67,32 @@ func TestParseVmStat(t *testing.T) { 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) +}