diff options
Diffstat (limited to 'container')
| -rw-r--r-- | container/container.go | 12 | ||||
| -rw-r--r-- | container/container_test.go | 26 |
2 files changed, 8 insertions, 30 deletions
diff --git a/container/container.go b/container/container.go index ecfb94cc..a10e610f 100644 --- a/container/container.go +++ b/container/container.go @@ -35,9 +35,6 @@ type ( // with behaviour identical to its [exec.Cmd] counterpart. ExtraFiles []*os.File - // Custom [exec.Cmd] initialisation function. - CommandContext func(ctx context.Context) (cmd *exec.Cmd) - // param encoder for shim and init setup *gob.Encoder // cancels cmd @@ -122,13 +119,8 @@ func (p *Container) Start() error { p.SeccompPresets |= seccomp.PresetDenyTTY } - if p.CommandContext != nil { - p.cmd = p.CommandContext(ctx) - } else { - p.cmd = exec.CommandContext(ctx, MustExecutable()) - p.cmd.Args = []string{"init"} - } - + p.cmd = exec.CommandContext(ctx, MustExecutable()) + p.cmd.Args = []string{"init"} p.cmd.Stdin, p.cmd.Stdout, p.cmd.Stderr = p.Stdin, p.Stdout, p.Stderr p.cmd.WaitDelay = p.WaitDelay if p.Cancel != nil { diff --git a/container/container_test.go b/container/container_test.go index 4ded1fb5..80243190 100644 --- a/container/container_test.go +++ b/container/container_test.go @@ -6,7 +6,6 @@ import ( "encoding/gob" "log" "os" - "os/exec" "strings" "syscall" "testing" @@ -26,6 +25,11 @@ const ( ignoreV = -1 ) +func TestMain(m *testing.M) { + container.TryArgv0(hlog.Output{}, hlog.Prepare, internal.InstallOutput) + os.Exit(m.Run()) +} + func TestContainer(t *testing.T) { { oldVerbose := hlog.Load() @@ -96,7 +100,6 @@ func TestContainer(t *testing.T) { c.Uid = 1000 c.Gid = 100 c.Hostname = tc.host - c.CommandContext = commandContext c.Stdout, c.Stderr = os.Stdout, os.Stderr c.Ops = tc.ops c.SeccompRules = tc.rules @@ -121,11 +124,7 @@ func TestContainer(t *testing.T) { Place("/etc/hostname", []byte(c.Args[5])) // in case test has cgo enabled var libPaths []string - if entries, err := ldd.ExecFilter(ctx, - commandContext, - func(v []byte) []byte { - return bytes.SplitN(v, []byte("TestHelperInit\n"), 2)[1] - }, os.Args[0]); err != nil { + if entries, err := ldd.Exec(ctx, os.Args[0]); err != nil { log.Fatalf("ldd: %v", err) } else { libPaths = ldd.Path(entries) @@ -197,14 +196,6 @@ func TestContainerString(t *testing.T) { } } -func TestHelperInit(t *testing.T) { - if len(os.Args) != 5 || os.Args[4] != "init" { - return - } - container.SetOutput(hlog.Output{}) - container.Init(hlog.Prepare, internal.InstallOutput) -} - func TestHelperCheckContainer(t *testing.T) { if len(os.Args) != 6 || os.Args[4] != "check" { return @@ -274,8 +265,3 @@ func TestHelperCheckContainer(t *testing.T) { } }) } - -func commandContext(ctx context.Context) *exec.Cmd { - return exec.CommandContext(ctx, os.Args[0], "-test.v", - "-test.run=TestHelperInit", "--", "init") -} |
