virtcontainers: fix unit tests

fix unit test that may need a cgroup path or root to create a new cgroup

Signed-off-by: Julio Montes <julio.montes@intel.com>
This commit is contained in:
Julio Montes 2020-01-07 18:51:36 +00:00
parent 776da0878e
commit d042d5c0da
2 changed files with 16 additions and 4 deletions

View File

@ -44,6 +44,7 @@ func newEmptySpec() *specs.Spec {
return &specs.Spec{
Linux: &specs.Linux{
Resources: &specs.LinuxResources{},
CgroupsPath: defaultCgroupPath,
},
Process: &specs.Process{
Capabilities: &specs.LinuxCapabilities{},

View File

@ -1457,16 +1457,19 @@ func TestSandbox_SetupSandboxCgroup(t *testing.T) {
name string
s *Sandbox
wantErr bool
needRoot bool
}{
{
"New sandbox",
&Sandbox{},
true,
false,
},
{
"New sandbox, new config",
&Sandbox{config: &SandboxConfig{}},
true,
false,
},
{
"sandbox, container no sandbox type",
@ -1475,6 +1478,7 @@ func TestSandbox_SetupSandboxCgroup(t *testing.T) {
{},
}}},
true,
false,
},
{
"sandbox, container sandbox type",
@ -1483,6 +1487,7 @@ func TestSandbox_SetupSandboxCgroup(t *testing.T) {
sandboxContainer,
}}},
true,
false,
},
{
"sandbox, empty linux json",
@ -1491,6 +1496,7 @@ func TestSandbox_SetupSandboxCgroup(t *testing.T) {
emptyJSONLinux,
}}},
false,
true,
},
{
"sandbox, successful config",
@ -1499,9 +1505,14 @@ func TestSandbox_SetupSandboxCgroup(t *testing.T) {
successfulContainer,
}}},
false,
true,
},
}
for _, tt := range tests {
if tt.needRoot && os.Getuid() != 0 {
t.Skip(tt.name + "needs root")
}
t.Run(tt.name, func(t *testing.T) {
if err := tt.s.setupSandboxCgroup(); (err != nil) != tt.wantErr {
t.Errorf("Sandbox.SetupSandboxCgroupOnly() error = %v, wantErr %v", err, tt.wantErr)