Add initial containerd *Client
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
56
spec_unix_test.go
Normal file
56
spec_unix_test.go
Normal file
@@ -0,0 +1,56 @@
|
||||
package containerd
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestGenerateSpec(t *testing.T) {
|
||||
s, err := GenerateSpec()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if s == nil {
|
||||
t.Fatal("GenerateSpec() returns a nil spec")
|
||||
}
|
||||
|
||||
// check for matching caps
|
||||
defaults := defaltCaps()
|
||||
for _, cl := range [][]string{
|
||||
s.Process.Capabilities.Ambient,
|
||||
s.Process.Capabilities.Bounding,
|
||||
s.Process.Capabilities.Permitted,
|
||||
s.Process.Capabilities.Inheritable,
|
||||
s.Process.Capabilities.Effective,
|
||||
} {
|
||||
for i := 0; i < len(defaults); i++ {
|
||||
if cl[i] != defaults[i] {
|
||||
t.Errorf("cap at %d does not match set %q != %q", i, defaults[i], cl[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// check default namespaces
|
||||
defaultNS := defaultNamespaces()
|
||||
for i, ns := range s.Linux.Namespaces {
|
||||
if defaultNS[i] != ns {
|
||||
t.Errorf("ns at %d does not match set %q != %q", i, defaultNS[i], ns)
|
||||
}
|
||||
}
|
||||
|
||||
// test that we don't have tty set
|
||||
if s.Process.Terminal {
|
||||
t.Error("terminal set on default process")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSpecWithTTY(t *testing.T) {
|
||||
s, err := GenerateSpec(WithTTY)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !s.Process.Terminal {
|
||||
t.Error("terminal net set WithTTY()")
|
||||
}
|
||||
v := s.Process.Env[len(s.Process.Env)-1]
|
||||
if v != "TERM=xterm" {
|
||||
t.Errorf("xterm not set in env for TTY")
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user