Adding a unit test for pkg/cgroup/fs/memory.go
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
This commit is contained in:
parent
5479a8e86f
commit
1749d97ee8
1 changed files with 123 additions and 0 deletions
123
cgroups/fs/memory_test.go
Normal file
123
cgroups/fs/memory_test.go
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
package fs
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
memoryStatContents = `cache 512
|
||||||
|
rss 1024`
|
||||||
|
memoryUsageContents = "2048\n"
|
||||||
|
memoryMaxUsageContents = "4096\n"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestMemoryStats(t *testing.T) {
|
||||||
|
helper := NewCgroupTestUtil("memory", t)
|
||||||
|
defer helper.cleanup()
|
||||||
|
helper.writeFileContents(map[string]string{
|
||||||
|
"memory.stat": memoryStatContents,
|
||||||
|
"memory.usage_in_bytes": memoryUsageContents,
|
||||||
|
"memory.max_usage_in_bytes": memoryMaxUsageContents,
|
||||||
|
})
|
||||||
|
|
||||||
|
memory := &memoryGroup{}
|
||||||
|
stats, err := memory.Stats(helper.CgroupData)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
expectedStats := map[string]float64{"cache": 512.0, "rss": 1024.0, "usage_in_bytes": 2048.0, "max_usage_in_bytes": 4096.0}
|
||||||
|
expectStats(t, expectedStats, stats)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMemoryStatsNoStatFile(t *testing.T) {
|
||||||
|
helper := NewCgroupTestUtil("memory", t)
|
||||||
|
defer helper.cleanup()
|
||||||
|
helper.writeFileContents(map[string]string{
|
||||||
|
"memory.usage_in_bytes": memoryUsageContents,
|
||||||
|
"memory.max_usage_in_bytes": memoryMaxUsageContents,
|
||||||
|
})
|
||||||
|
|
||||||
|
memory := &memoryGroup{}
|
||||||
|
_, err := memory.Stats(helper.CgroupData)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatal("Expected failure")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMemoryStatsNoUsageFile(t *testing.T) {
|
||||||
|
helper := NewCgroupTestUtil("memory", t)
|
||||||
|
defer helper.cleanup()
|
||||||
|
helper.writeFileContents(map[string]string{
|
||||||
|
"memory.stat": memoryStatContents,
|
||||||
|
"memory.max_usage_in_bytes": memoryMaxUsageContents,
|
||||||
|
})
|
||||||
|
|
||||||
|
memory := &memoryGroup{}
|
||||||
|
_, err := memory.Stats(helper.CgroupData)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatal("Expected failure")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMemoryStatsNoMaxUsageFile(t *testing.T) {
|
||||||
|
helper := NewCgroupTestUtil("memory", t)
|
||||||
|
defer helper.cleanup()
|
||||||
|
helper.writeFileContents(map[string]string{
|
||||||
|
"memory.stat": memoryStatContents,
|
||||||
|
"memory.usage_in_bytes": memoryUsageContents,
|
||||||
|
})
|
||||||
|
|
||||||
|
memory := &memoryGroup{}
|
||||||
|
_, err := memory.Stats(helper.CgroupData)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatal("Expected failure")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMemoryStatsBadStatFile(t *testing.T) {
|
||||||
|
helper := NewCgroupTestUtil("memory", t)
|
||||||
|
defer helper.cleanup()
|
||||||
|
helper.writeFileContents(map[string]string{
|
||||||
|
"memory.stat": "rss rss",
|
||||||
|
"memory.usage_in_bytes": memoryUsageContents,
|
||||||
|
"memory.max_usage_in_bytes": memoryMaxUsageContents,
|
||||||
|
})
|
||||||
|
|
||||||
|
memory := &memoryGroup{}
|
||||||
|
_, err := memory.Stats(helper.CgroupData)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatal("Expected failure")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMemoryStatsBadUsageFile(t *testing.T) {
|
||||||
|
helper := NewCgroupTestUtil("memory", t)
|
||||||
|
defer helper.cleanup()
|
||||||
|
helper.writeFileContents(map[string]string{
|
||||||
|
"memory.stat": memoryStatContents,
|
||||||
|
"memory.usage_in_bytes": "bad",
|
||||||
|
"memory.max_usage_in_bytes": memoryMaxUsageContents,
|
||||||
|
})
|
||||||
|
|
||||||
|
memory := &memoryGroup{}
|
||||||
|
_, err := memory.Stats(helper.CgroupData)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatal("Expected failure")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMemoryStatsBadMaxUsageFile(t *testing.T) {
|
||||||
|
helper := NewCgroupTestUtil("memory", t)
|
||||||
|
defer helper.cleanup()
|
||||||
|
helper.writeFileContents(map[string]string{
|
||||||
|
"memory.stat": memoryStatContents,
|
||||||
|
"memory.usage_in_bytes": memoryUsageContents,
|
||||||
|
"memory.max_usage_in_bytes": "bad",
|
||||||
|
})
|
||||||
|
|
||||||
|
memory := &memoryGroup{}
|
||||||
|
_, err := memory.Stats(helper.CgroupData)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatal("Expected failure")
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue