mirror of https://github.com/k3s-io/k3s
Merge pull request #43154 from apprenda/kubeadm_test-cmd_logging
Automatic merge from submit-queue (batch tested with PRs 43149, 41399, 43154, 43569, 42507) kubeadm: only print stderr/stdout if failed test **What this PR does / why we need it**: This PR changes when stdout/stderr will be logged during a kubeadm test-cmd test. It's useful when a real failure occurs to only see the failure rather than output that looks like it might be a failure **Special notes for your reviewer**: /cc @luxas @marun **Release note**: ```release-note NONE ```pull/6/head
commit
417a88b82a
|
@ -19,8 +19,6 @@ package kubeadm
|
|||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
|
@ -29,12 +27,12 @@ import (
|
|||
func RunCmd(command string, args ...string) (string, string, error) {
|
||||
var bout, berr bytes.Buffer
|
||||
cmd := exec.Command(command, args...)
|
||||
cmd.Stdout = io.MultiWriter(os.Stdout, &bout)
|
||||
cmd.Stderr = io.MultiWriter(os.Stderr, &berr)
|
||||
cmd.Stdout = &bout
|
||||
cmd.Stderr = &berr
|
||||
err := cmd.Run()
|
||||
stdout, stderr := bout.String(), berr.String()
|
||||
if err != nil {
|
||||
return "", "", fmt.Errorf("error running %s %v; got error %v, stdout %q, stderr %q",
|
||||
return "", "", fmt.Errorf("error running %s %v; \ngot error %v, \nstdout %q, \nstderr %q",
|
||||
command, args, err, stdout, stderr)
|
||||
}
|
||||
return stdout, stderr, nil
|
||||
|
|
Loading…
Reference in New Issue