MCPcopy Create free account
hub / github.com/containerd/nerdctl / TestRunSigProxy

Function TestRunSigProxy

cmd/nerdctl/container/container_run_linux_test.go:384–447  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

382}
383
384func TestRunSigProxy(t *testing.T) {
385 testCase := nerdtest.Setup()
386
387 // FIXME: gomodjail signal handling is not working yet: https://github.com/AkihiroSuda/gomodjail/issues/51
388 testCase.Require = require.Not(nerdtest.Gomodjail)
389
390 testCase.SubTests = []*test.Case{
391 {
392 Description: "SigProxyDefault",
393
394 Cleanup: func(data test.Data, helpers test.Helpers) {
395 helpers.Anyhow("rm", "-f", data.Identifier())
396 },
397
398 Command: func(data test.Data, helpers test.Helpers) test.TestableCommand {
399 // FIXME: os.Interrupt will likely not work on Windows
400 cmd := nerdtest.RunSigProxyContainer(os.Interrupt, true, nil, data, helpers)
401 err := cmd.Signal(os.Interrupt)
402 assert.NilError(helpers.T(), err)
403 return cmd
404 },
405
406 Expected: test.Expects(0, nil, expect.Contains(nerdtest.SignalCaught)),
407 },
408 {
409 Description: "SigProxyTrue",
410
411 Cleanup: func(data test.Data, helpers test.Helpers) {
412 helpers.Anyhow("rm", "-f", data.Identifier())
413 },
414
415 Command: func(data test.Data, helpers test.Helpers) test.TestableCommand {
416 cmd := nerdtest.RunSigProxyContainer(os.Interrupt, true, []string{"--sig-proxy=true"}, data, helpers)
417 err := cmd.Signal(os.Interrupt)
418 assert.NilError(helpers.T(), err)
419 return cmd
420 },
421
422 Expected: test.Expects(0, nil, expect.Contains(nerdtest.SignalCaught)),
423 },
424 {
425 Description: "SigProxyFalse",
426
427 // Docker behavior changed sometimes with Docker 27
428 // See https://github.com/containerd/nerdctl/issues/4219 for details
429 Require: require.Not(nerdtest.Docker),
430
431 Cleanup: func(data test.Data, helpers test.Helpers) {
432 helpers.Anyhow("rm", "-f", data.Identifier())
433 },
434
435 Command: func(data test.Data, helpers test.Helpers) test.TestableCommand {
436 cmd := nerdtest.RunSigProxyContainer(os.Interrupt, true, []string{"--sig-proxy=false"}, data, helpers)
437 err := cmd.Signal(os.Interrupt)
438 assert.NilError(helpers.T(), err)
439 return cmd
440 },
441

Callers

nothing calls this directly

Calls 7

SetupFunction · 0.92
RunSigProxyContainerFunction · 0.92
AnyhowMethod · 0.65
IdentifierMethod · 0.65
SignalMethod · 0.65
TMethod · 0.65
RunMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…