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
commit bb0df68e50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 2 deletions

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()