Add find tests and remove panic in DEBUG
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
This commit is contained in:
parent
0ef83adf9f
commit
bd2d7a377c
2 changed files with 47 additions and 9 deletions
|
@ -4,7 +4,6 @@ import (
|
|||
"encoding/json"
|
||||
"errors"
|
||||
"github.com/syndtr/gocapability/capability"
|
||||
"os"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -74,16 +73,18 @@ func GetNamespace(key string) *Namespace {
|
|||
return ns
|
||||
}
|
||||
}
|
||||
if os.Getenv("DEBUG") != "" {
|
||||
panic("Unreachable: Namespace not found")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Contains returns true if the specified Namespace is
|
||||
// in the slice
|
||||
func (n Namespaces) Contains(ns string) bool {
|
||||
return GetNamespace(ns) != nil
|
||||
for _, nsp := range n {
|
||||
if nsp.Key == ns {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type (
|
||||
|
@ -121,14 +122,16 @@ func GetCapability(key string) *Capability {
|
|||
return capp
|
||||
}
|
||||
}
|
||||
if os.Getenv("DEBUG") != "" {
|
||||
panic("Unreachable: Capability not found")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Contains returns true if the specified Capability is
|
||||
// in the slice
|
||||
func (c Capabilities) Contains(capp string) bool {
|
||||
return GetCapability(capp) != nil
|
||||
for _, cap := range c {
|
||||
if cap.Key == capp {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
|
35
libcontainer/types_test.go
Normal file
35
libcontainer/types_test.go
Normal file
|
@ -0,0 +1,35 @@
|
|||
package libcontainer
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestNamespacesContains(t *testing.T) {
|
||||
ns := Namespaces{
|
||||
GetNamespace("NEWPID"),
|
||||
GetNamespace("NEWNS"),
|
||||
GetNamespace("NEWUTS"),
|
||||
}
|
||||
|
||||
if ns.Contains("NEWNET") {
|
||||
t.Fatal("namespaces should not contain NEWNET")
|
||||
}
|
||||
|
||||
if !ns.Contains("NEWPID") {
|
||||
t.Fatal("namespaces should contain NEWPID but does not")
|
||||
}
|
||||
}
|
||||
|
||||
func TestCapabilitiesContains(t *testing.T) {
|
||||
caps := Capabilities{
|
||||
GetCapability("MKNOD"),
|
||||
GetCapability("SETPCAP"),
|
||||
}
|
||||
|
||||
if caps.Contains("SYS_ADMIN") {
|
||||
t.Fatal("capabilities should not contain SYS_ADMIN")
|
||||
}
|
||||
if !caps.Contains("MKNOD") {
|
||||
t.Fatal("capabilities should container MKNOD but does not")
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue