39 строки
794 Б
Go
39 строки
794 Б
Go
package godog
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func trimLineSpaces(s string) string {
|
|
var res []string
|
|
for _, ln := range strings.Split(s, "\n") {
|
|
res = append(res, strings.TrimSpace(ln))
|
|
}
|
|
return strings.Join(res, "\n")
|
|
}
|
|
|
|
func TestStacktrace(t *testing.T) {
|
|
err := &traceError{
|
|
msg: "err msg",
|
|
stack: callStack(),
|
|
}
|
|
|
|
expect := "err msg"
|
|
actual := fmt.Sprintf("%s", err)
|
|
if expect != actual {
|
|
t.Fatalf("expected formatted trace error message to be: %s, but got %s", expect, actual)
|
|
}
|
|
|
|
expect = trimLineSpaces(`err msg
|
|
testing.tRunner
|
|
/usr/lib/go/src/testing/testing.go:657
|
|
runtime.goexit
|
|
/usr/lib/go/src/runtime/asm_amd64.s:2197`)
|
|
|
|
actual = trimLineSpaces(fmt.Sprintf("%+v", err))
|
|
if expect != actual {
|
|
t.Fatalf("detaily formatted actual: %s", actual)
|
|
}
|
|
}
|