Commit Graph
7 Commits
Author SHA1 Message Date
mlsmaycon 8a02b6f283 [management] Drop the test store timing log and its summary column
The store helper is not a test file and should not carry a log line that
only exists for the CI summary. The summarizer no longer parses it.
2026-09-12 17:59:44 +00:00
mlsmaycon 3f2750e8be [misc] Report a failed build once through the package fail event
go test emits a build-fail event for the test binary and then a fail event
for the package with FailedBuild, so the summary printed two FAIL lines and
two output blocks per build failure. The package fail event now reports the
compiler output; a build-fail never followed by one is still printed at the
end. Build output also skips the panic detection, so a compiler crash is
shown as compiler output instead of a test panic.
2026-09-12 12:42:30 +00:00
mlsmaycon 8fd2db15b8 [misc] Split output events into lines and key build events by full path
Build output events may carry several lines in one payload; buffering
them as one entry undercounted the caps and skipped the indentation of
continuation lines. Each payload is split into lines first.

A package compiled for several test binaries reports build events under
"pkg [a.test]" and "pkg [b.test]". Cutting the suffix off merged their
buffers, and the first build-fail printed and deleted both. The full
import path is now the key and the suffix is only dropped for display.
2026-09-12 12:26:14 +00:00
mlsmaycon 683af3b6cb [misc] Track panics and package output per package in gotestsummary
go test -json interleaves the streams of packages that run in parallel,
so a single panic flag let one package's goroutine dump swallow the
output of every other package until its own fail event. Keep the panic
head per package and clear it with that package's result.

A test that hangs before printing anything is now registered on its run
event, so the unfinished list names it. Output a package prints outside
any test, which is where compiler diagnostics of a failed build land,
was dropped; it is buffered and printed when the package fails,
including the build-fail event newer Go versions emit.
2026-09-12 12:17:37 +00:00
mlsmaycon ba9b226b4b [management] Add a go test -json summarizer and log test store setup time
The Management / Unit (mysql) job hit the 20 minute go test budget in
management/server and left only a goroutine dump of several thousand
leaked goroutines, with the "running tests:" header far out of reach of
the job log viewer. The last live test goroutine was runnable, not
blocked: the suite was still progressing when the alarm fired.

tools/gotestsummary reads a go test -json stream and prints one line
per finished test, the output of failed tests, the head of a package
panic (the timeout header and the running tests list), tests that never
reported a result, and the slowest tests per package.

NewTestStoreFromSQL now logs how long the sqlite seed store and the
engine under test took to come up; the summarizer attributes those to
the owning test so the per-test store cost on mysql and postgres is
visible in CI.

Two leaks made the dump unreadable and are fixed here: the sqlite seed
store was never closed once a mysql or postgres store replaced it, and
buildTestManager passed context.Background() to the metrics, caches and
controllers, so every test left its P95 flushers and cleanup loops
running until the process exited.
2026-09-12 12:00:37 +00:00
Bethuel Mmbaga 066af82c3e [management] Keep embedded IdP deployments on a single account (#7380) 2026-09-04 11:03:54 +03:00
shuuri-labs 940f530ac2 [management] Legacy to embedded IdP migration tool (#5586) 2026-04-01 13:53:19 +02:00