Merge pull request #363 from priyawadhwa/exists

Only return stdout when running commands for integration tests
This commit is contained in:
priyawadhwa
2018-09-25 21:56:03 +01:00
committed by GitHub
+9 -2
View File
@@ -17,6 +17,7 @@ limitations under the License.
package integration
import (
"bytes"
"fmt"
"os/exec"
"testing"
@@ -25,9 +26,12 @@ import (
// RunCommandWithoutTest will run cmd and if it fails will output relevant info
// for debugging before returning an error. It can be run outside the context of a test.
func RunCommandWithoutTest(cmd *exec.Cmd) ([]byte, error) {
output, err := cmd.CombinedOutput()
var stderr bytes.Buffer
cmd.Stderr = &stderr
output, err := cmd.Output()
if err != nil {
fmt.Println(cmd.Args)
fmt.Println(stderr.String())
fmt.Println(string(output))
}
return output, err
@@ -37,9 +41,12 @@ func RunCommandWithoutTest(cmd *exec.Cmd) ([]byte, error) {
// before it fails. It must be run within the context of a test t and if the command
// fails, it will the test. Returns the output from the command.
func RunCommand(cmd *exec.Cmd, t *testing.T) []byte {
output, err := cmd.CombinedOutput()
var stderr bytes.Buffer
cmd.Stderr = &stderr
output, err := cmd.Output()
if err != nil {
t.Log(cmd.Args)
t.Log(stderr.String())
t.Log(string(output))
t.Error(err)
t.FailNow()