github.com/opencontainers/runtime-tools@v0.9.0/validation/util/linux_resources_pids.go (about) 1 package util 2 3 import ( 4 "github.com/mndrix/tap-go" 5 rspec "github.com/opencontainers/runtime-spec/specs-go" 6 "github.com/opencontainers/runtime-tools/cgroups" 7 ) 8 9 // ValidateLinuxResourcesPids validates linux.resources.pids. 10 func ValidateLinuxResourcesPids(config *rspec.Spec, t *tap.T, state *rspec.State) error { 11 cg, err := cgroups.FindCgroup() 12 t.Ok((err == nil), "find pids cgroup") 13 if err != nil { 14 t.Diagnostic(err.Error()) 15 return nil 16 } 17 18 lpd, err := cg.GetPidsData(state.Pid, config.Linux.CgroupsPath) 19 t.Ok((err == nil), "get pids cgroup data") 20 if err != nil { 21 t.Diagnostic(err.Error()) 22 return nil 23 } 24 25 t.Ok(lpd.Limit == config.Linux.Resources.Pids.Limit, "pids limit is set correctly") 26 t.Diagnosticf("expect: %d, actual: %d", config.Linux.Resources.Pids.Limit, lpd.Limit) 27 28 return nil 29 }