You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gopsutil/docker/docker_linux_test.go

78 lines
1.6 KiB
Go

// SPDX-License-Identifier: BSD-3-Clause
//go:build linux
package docker
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestGetDockerIDList(t *testing.T) {
// If there is not docker environment, this test always fail.
// not tested here
/*
_, err := GetDockerIDList()
if err != nil {
t.Errorf("error %v", err)
}
*/
}
func TestGetDockerStat(t *testing.T) {
// If there is not docker environment, this test always fail.
// not tested here
/*
ret, err := GetDockerStat()
if err != nil {
t.Errorf("error %v", err)
}
if len(ret) == 0 {
t.Errorf("ret is empty")
}
empty := CgroupDockerStat{}
for _, v := range ret {
if empty == v {
t.Errorf("empty CgroupDockerStat")
}
if v.ContainerID == "" {
t.Errorf("Could not get container id")
}
}
*/
}
func TestCgroupCPU(t *testing.T) {
v, _ := GetDockerIDList()
for _, id := range v {
v, err := CgroupCPUDockerWithContext(context.Background(), id)
require.NoError(t, err)
assert.NotEmptyf(t, v.CPU, "could not get CgroupCPU %v", v)
}
}
func TestCgroupCPUInvalidId(t *testing.T) {
_, err := CgroupCPUDockerWithContext(context.Background(), "bad id")
assert.Errorf(t, err, "Expected path does not exist error")
}
func TestCgroupMem(t *testing.T) {
v, _ := GetDockerIDList()
for _, id := range v {
v, err := CgroupMemDocker(id)
require.NoError(t, err)
empty := &CgroupMemStat{}
assert.NotSamef(t, v, empty, "Could not CgroupMemStat %v", v)
}
}
func TestCgroupMemInvalidId(t *testing.T) {
_, err := CgroupMemDocker("bad id")
assert.Errorf(t, err, "Expected path does not exist error")
}