github.com/khulnasoft/cli@v0.0.0-20240402070845-01bcad7beefa/e2e/container/attach_test.go (about)

     1  package container
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  	"testing"
     7  
     8  	"github.com/khulnasoft/cli/e2e/internal/fixtures"
     9  	"gotest.tools/v3/icmd"
    10  )
    11  
    12  func TestAttachExitCode(t *testing.T) {
    13  	const exitCode = 21
    14  	result := icmd.RunCommand("docker", "run", "-d", "-i", "--rm", fixtures.AlpineImage, "sh", "-c", fmt.Sprintf("read; exit %d", exitCode))
    15  	result.Assert(t, icmd.Success)
    16  
    17  	containerID := strings.TrimSpace(result.Stdout())
    18  
    19  	result = icmd.RunCmd(icmd.Command("docker", "attach", containerID), withStdinNewline)
    20  	result.Assert(t, icmd.Expected{ExitCode: exitCode})
    21  }
    22  
    23  func withStdinNewline(cmd *icmd.Cmd) {
    24  	cmd.Stdin = strings.NewReader("\n")
    25  }