in functional_tests/src/runtest/main.go [56:82]
func runCommand(name string, args ...string) (err error, stdout string, stderr string) {
expandedName, expandedArgs := expandCommand(name, args...)
if *verbose {
originalCommand := fmt.Sprintf("%v", append([]string{name}, args...))
expandedCommand := fmt.Sprintf("%v", append([]string{expandedName}, expandedArgs...))
if originalCommand == expandedCommand {
info("Running command: %s", originalCommand)
} else {
info("Running command (original): %s", originalCommand)
info("Running command (expanded): %s", expandedCommand)
}
}
cmd := exec.Command(expandedName, expandedArgs...)
var stdoutBuffer bytes.Buffer
var stderrBuffer bytes.Buffer
cmd.Stdout = &stdoutBuffer
cmd.Stderr = &stderrBuffer
err = cmd.Run()
stdout = stdoutBuffer.String()
stderr = stderrBuffer.String()
if *verbose {
commandOutput("STDOUT", stdout)
commandOutput("STDERR", stderr)
}
return
}