forked from prometheus/procfs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
meminfo_test.go
77 lines (72 loc) · 2.48 KB
/
meminfo_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Copyright 2019 The Prometheus Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package procfs
import (
"reflect"
"testing"
)
func TestMeminfo(t *testing.T) {
expected := Meminfo{
MemTotal: newuint64(15666184),
MemFree: newuint64(440324),
Buffers: newuint64(1020128),
Cached: newuint64(12007640),
SwapCached: newuint64(0),
Active: newuint64(6761276),
Inactive: newuint64(6532708),
ActiveAnon: newuint64(267256),
InactiveAnon: newuint64(268),
ActiveFile: newuint64(6494020),
InactiveFile: newuint64(6532440),
Unevictable: newuint64(0),
Mlocked: newuint64(0),
SwapTotal: newuint64(0),
SwapFree: newuint64(0),
Dirty: newuint64(768),
Writeback: newuint64(0),
AnonPages: newuint64(266216),
Mapped: newuint64(44204),
Shmem: newuint64(1308),
Slab: newuint64(1807264),
SReclaimable: newuint64(1738124),
SUnreclaim: newuint64(69140),
KernelStack: newuint64(1616),
PageTables: newuint64(5288),
NFSUnstable: newuint64(0),
Bounce: newuint64(0),
WritebackTmp: newuint64(0),
CommitLimit: newuint64(7833092),
CommittedAS: newuint64(530844),
VmallocTotal: newuint64(34359738367),
VmallocUsed: newuint64(36596),
VmallocChunk: newuint64(34359637840),
HardwareCorrupted: newuint64(0),
AnonHugePages: newuint64(12288),
HugePagesTotal: newuint64(0),
HugePagesFree: newuint64(0),
HugePagesRsvd: newuint64(0),
HugePagesSurp: newuint64(0),
Hugepagesize: newuint64(2048),
DirectMap4k: newuint64(91136),
DirectMap2M: newuint64(16039936),
}
have, err := getProcFixtures(t).Meminfo()
if err != nil {
t.Fatal(err)
}
if !reflect.DeepEqual(have, expected) {
t.Logf("have: %+v", have)
t.Logf("expected: %+v", expected)
t.Errorf("structs are not equal")
}
}