indent test outputs

pull/7249/head
Medya Gh 2020-03-25 22:45:29 -07:00
parent 095ccbe562
commit fffac25262
1 changed files with 14 additions and 2 deletions

View File

@ -63,14 +63,26 @@ func (rr RunResult) Command() string {
return sb.String()
}
// indentLines indents every line in a bytes.Buffer and returns it as string
func indentLines(b *bytes.Buffer) string {
scanner := bufio.NewScanner(b)
var lines string
for scanner.Scan() {
lines = lines + "\t" + scanner.Text() + "\n"
}
return lines
}
// Output returns human-readable output for an execution result
func (rr RunResult) Output() string {
var sb strings.Builder
if rr.Stdout.Len() > 0 {
sb.WriteString(fmt.Sprintf("-- stdout --\n%s\n-- /stdout --", rr.Stdout.Bytes()))
sb.WriteString(fmt.Sprintf("-- stdout --\n%s\n-- /stdout --", indentLines(rr.Stdout)))
}
if rr.Stderr.Len() > 0 {
sb.WriteString(fmt.Sprintf("\n** stderr ** \n%s\n** /stderr **", rr.Stderr.Bytes()))
sb.WriteString(fmt.Sprintf("\n** stderr ** \n%s\n** /stderr **", indentLines(rr.Stderr)))
}
return sb.String()
}