package gui import ( "bytes" "os/exec" "testing" "github.com/jesseduffield/lazygit/pkg/utils" "github.com/stretchr/testify/assert" ) func TestStartCmdWithPipeWhenPipeCannotBeCreated(t *testing.T) { cmd := exec.Command("non-existent-command") // Assigning stdout up front makes cmd.StdoutPipe fail. This happens in // practice on the Unix pty fallback path: a failed pty start can leave // the tty assigned to the command's stdout. cmd.Stdout = &bytes.Buffer{} _, r := startCmdWithPipe(cmd, utils.NewDummyLog()) // NewCmdTask's scanner panics on a nil reader, so startCmdWithPipe must // not return one even when it can't create the pipe. assert.NotNil(t, r) }