|
|
|
|
@ -141,7 +141,7 @@ func runTests(ctx context.Context, attempt int, pt *packageTests, goTestArgs, te |
|
|
|
|
} |
|
|
|
|
outcome := goOutput.Action |
|
|
|
|
if outcome == "build-fail" { |
|
|
|
|
outcome = "FAIL" |
|
|
|
|
outcome = "fail" |
|
|
|
|
} |
|
|
|
|
pkgTests[""].logs.WriteString(goOutput.Output) |
|
|
|
|
ch <- &testAttempt{ |
|
|
|
|
@ -152,7 +152,15 @@ func runTests(ctx context.Context, attempt int, pt *packageTests, goTestArgs, te |
|
|
|
|
logs: pkgTests[""].logs, |
|
|
|
|
pkgFinished: true, |
|
|
|
|
} |
|
|
|
|
case "output": |
|
|
|
|
// Capture all output from the package except for the final
|
|
|
|
|
// "FAIL tailscale.io/control 0.684s" line, as
|
|
|
|
|
// printPkgOutcome will output a similar line
|
|
|
|
|
if !strings.HasPrefix(goOutput.Output, fmt.Sprintf("FAIL\t%s\t", goOutput.Package)) { |
|
|
|
|
pkgTests[""].logs.WriteString(goOutput.Output) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
continue |
|
|
|
|
} |
|
|
|
|
testName := goOutput.Test |
|
|
|
|
@ -276,7 +284,11 @@ func main() { |
|
|
|
|
// when a package times out.
|
|
|
|
|
failed = true |
|
|
|
|
} |
|
|
|
|
os.Stdout.ReadFrom(&tr.logs) |
|
|
|
|
if testingVerbose || tr.outcome == "fail" { |
|
|
|
|
// Output package-level output which is where e.g.
|
|
|
|
|
// panics outside tests will be printed
|
|
|
|
|
io.Copy(os.Stdout, &tr.logs) |
|
|
|
|
} |
|
|
|
|
printPkgOutcome(tr.pkg, tr.outcome, thisRun.attempt, tr.end.Sub(tr.start)) |
|
|
|
|
continue |
|
|
|
|
} |
|
|
|
|
|