From 74e0352b360961f5ffbd1eb4587ffb9213780de0 Mon Sep 17 00:00:00 2001 From: Fabian Holler Date: Wed, 3 Jan 2024 14:38:37 +0100 Subject: [PATCH] exec: forward command output to stderr instead of stdout on --show-task-output When "--show-task-output" is passed to "baur run", the command output is now written to stderr instead of stdout. Stderr fits better the output is for diagnostic purposes. --- internal/command/run.go | 2 +- internal/command/run_test.go | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/command/run.go b/internal/command/run.go index 0a03936b3..28aa4bc7a 100644 --- a/internal/command/run.go +++ b/internal/command/run.go @@ -155,7 +155,7 @@ func (c *runCmd) run(_ *cobra.Command, args []string) { c.taskRunnerRoutinePool = routines.NewPool(c.taskRunnerGoRoutines) c.taskRunner = baur.NewTaskRunner() if c.showOutput && !verboseFlag { - c.taskRunner.LogFn = stdout.Printf + c.taskRunner.LogFn = stderr.Printf } c.dockerClient, err = docker.NewClient(log.StdLogger.Debugf) diff --git a/internal/command/run_test.go b/internal/command/run_test.go index 00d26a659..efbe1c56c 100644 --- a/internal/command/run_test.go +++ b/internal/command/run_test.go @@ -151,12 +151,12 @@ echo "greetings from script.sh" runCmdTest := newRunCmd() runCmdTest.SetArgs([]string{"-o"}) - stdout, _ := interceptCmdOutput(t) + _, stderr := interceptCmdOutput(t) err = runCmdTest.Execute() require.NoError(t, err) - require.Equal(t, 1, strings.Count(stdout.String(), "greetings from script.sh")) + require.Equal(t, 1, strings.Count(stderr.String(), "greetings from script.sh")) } func TestRunShowOutputOnErrorOutputIsPrintedOnce(t *testing.T) { @@ -194,7 +194,7 @@ exit 1 runCmdTest := newRunCmd() runCmdTest.SetArgs([]string{"-o"}) - stdout, _ := interceptCmdOutput(t) + _, stderr := interceptCmdOutput(t) oldExitFunc := exitFunc var exitCode int @@ -209,7 +209,7 @@ exit 1 require.NoError(t, err) require.Equal(t, 1, exitCode) - require.Equal(t, 1, strings.Count(stdout.String(), "I will fail!")) + require.Equal(t, 1, strings.Count(stderr.String(), "I will fail!")) } func createEnvVarTestApp(t *testing.T, appName, taskName string, envVarsCfg []cfg.EnvVarsInputs) {