RunOOM test should check to see if Oom Control is enabled
closes #13766 Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com> Upstream-commit: e7fb38410dfcbdd83df7c9e16806bbf8fc3af8b5 Component: engine
This commit is contained in:
@@ -2883,6 +2883,7 @@ func (s *DockerSuite) TestRunAllowPortRangeThroughPublish(c *check.C) {
|
||||
}
|
||||
|
||||
func (s *DockerSuite) TestRunOOMExitCode(c *check.C) {
|
||||
testRequires(c, OomControl)
|
||||
errChan := make(chan error)
|
||||
go func() {
|
||||
defer close(errChan)
|
||||
|
||||
@@ -7,8 +7,10 @@ import (
|
||||
"log"
|
||||
"net/http"
|
||||
"os/exec"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
"github.com/docker/libcontainer/cgroups"
|
||||
"github.com/go-check/check"
|
||||
)
|
||||
|
||||
@@ -107,6 +109,24 @@ var (
|
||||
},
|
||||
"Test requires support for IPv6",
|
||||
}
|
||||
OomControl = TestRequirement{
|
||||
func() bool {
|
||||
cgroupMemoryMountpoint, err := cgroups.FindCgroupMountpoint("memory")
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
if _, err := ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "memory.memsw.limit_in_bytes")); err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
if _, err = ioutil.ReadFile(path.Join(cgroupMemoryMountpoint, "memory.oom_control")); err != nil {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
|
||||
},
|
||||
"Test requires Oom control enabled.",
|
||||
}
|
||||
)
|
||||
|
||||
// testRequires checks if the environment satisfies the requirements
|
||||
|
||||
Reference in New Issue
Block a user