20 lines
584 B
Go
20 lines
584 B
Go
package buildstep
|
|
|
|
import (
|
|
"regexp"
|
|
"strings"
|
|
)
|
|
|
|
// goPosition matches a line that starts with a Go file's position, as go vet and the compiler write an error.
|
|
var goPosition = regexp.MustCompile(`^\S+\.go:\d+(:\d+)?: `)
|
|
|
|
var ansiEscape = regexp.MustCompile("\x1b\\[[0-9;]*m")
|
|
|
|
func stripANSI(s string) string { return ansiEscape.ReplaceAllString(s, "") }
|
|
|
|
// tapOk says a line is a passing test's "ok N - name", indented or not.
|
|
func tapOk(l string) bool {
|
|
rest, ok := strings.CutPrefix(strings.TrimSpace(l), "ok ")
|
|
return ok && rest != "" && rest[0] >= '0' && rest[0] <= '9'
|
|
}
|