From e71dbf98f423a823b4f0d44696e57b139d36e537 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Sat, 9 Dec 2023 00:16:23 -0500 Subject: [PATCH] Better format for multi-line stderr output in localcmd Signed-off-by: Daniel Nephin --- internal/tiltfile/files.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/tiltfile/files.go b/internal/tiltfile/files.go index 919c4fbd4d..bcd0fc0c6f 100644 --- a/internal/tiltfile/files.go +++ b/internal/tiltfile/files.go @@ -120,8 +120,13 @@ func (s *tiltfileState) execLocalCmd(t *starlark.Thread, cmd model.Cmd, options if !options.logOutput { // if we already logged the output, don't include it in the error message to prevent it from // getting output 2x - errMessage.WriteString(fmt.Sprintf("\nstdout: %q\nstderr: %q", - stdoutBuf.String(), stderrBuf.String())) + + stdout, stderr := stdoutBuf.String(), stderrBuf.String() + if strings.Contains(stdout, "\n") || strings.Contains(stderr, "\n") { + fmt.Fprintf(&errMessage, "\nstdout:\n%v\nstderr:\n%v\n", stdout, stderr) + } else { + fmt.Fprintf(&errMessage, "\nstdout: %q\nstderr: %q\n", stdout, stderr) + } } return "", errors.New(errMessage.String())