...
1
2
3 package mem
4
5 import (
6 "testing"
7
8 "github.com/stretchr/testify/assert"
9 )
10
11 const validFreeBSD = `Device: 1kB-blocks Used:
12 /dev/gpt/swapfs 1048576 1234
13 /dev/md0 1048576 666
14 `
15
16 const validOpenBSD = `Device 1K-blocks Used Avail Capacity Priority
17 /dev/wd0b 655025 1234 653791 1% 0
18 `
19
20 const invalid = `Device: 512-blocks Used:
21 /dev/gpt/swapfs 1048576 1234
22 /dev/md0 1048576 666
23 `
24
25 func TestParseSwapctlOutput_FreeBSD(t *testing.T) {
26 assert := assert.New(t)
27 stats, err := parseSwapctlOutput(validFreeBSD)
28 assert.NoError(err)
29
30 assert.Equal(*stats[0], SwapDevice{
31 Name: "/dev/gpt/swapfs",
32 UsedBytes: 1263616,
33 FreeBytes: 1072478208,
34 })
35
36 assert.Equal(*stats[1], SwapDevice{
37 Name: "/dev/md0",
38 UsedBytes: 681984,
39 FreeBytes: 1073059840,
40 })
41 }
42
43 func TestParseSwapctlOutput_OpenBSD(t *testing.T) {
44 assert := assert.New(t)
45 stats, err := parseSwapctlOutput(validOpenBSD)
46 assert.NoError(err)
47
48 assert.Equal(*stats[0], SwapDevice{
49 Name: "/dev/wd0b",
50 UsedBytes: 1234 * 1024,
51 FreeBytes: 653791 * 1024,
52 })
53 }
54
55 func TestParseSwapctlOutput_Invalid(t *testing.T) {
56 _, err := parseSwapctlOutput(invalid)
57 assert.Error(t, err)
58 }
59
60 func TestParseSwapctlOutput_Empty(t *testing.T) {
61 _, err := parseSwapctlOutput("")
62 assert.Error(t, err)
63 }
64
View as plain text