...
1
2
3 package mem
4
5 import (
6 "strconv"
7 "strings"
8 "testing"
9
10 "github.com/stretchr/testify/assert"
11 )
12
13 func TestVirtualMemoryDarwin(t *testing.T) {
14 v, err := VirtualMemory()
15 assert.Nil(t, err)
16
17 outBytes, err := invoke.Command("/usr/sbin/sysctl", "hw.memsize")
18 assert.Nil(t, err)
19 outString := string(outBytes)
20 outString = strings.TrimSpace(outString)
21 outParts := strings.Split(outString, " ")
22 actualTotal, err := strconv.ParseInt(outParts[1], 10, 64)
23 assert.Nil(t, err)
24 assert.Equal(t, uint64(actualTotal), v.Total)
25
26 assert.True(t, v.Available > 0)
27 assert.Equal(t, v.Available, v.Free+v.Inactive, "%v", v)
28
29 assert.True(t, v.Used > 0)
30 assert.True(t, v.Used < v.Total)
31
32 assert.True(t, v.UsedPercent > 0)
33 assert.True(t, v.UsedPercent < 100)
34
35 assert.True(t, v.Free > 0)
36 assert.True(t, v.Free < v.Available)
37
38 assert.True(t, v.Active > 0)
39 assert.True(t, v.Active < v.Total)
40
41 assert.True(t, v.Inactive > 0)
42 assert.True(t, v.Inactive < v.Total)
43
44 assert.True(t, v.Wired > 0)
45 assert.True(t, v.Wired < v.Total)
46 }
47
View as plain text