m/test/e2e: use concise-style logging
Making our test logs look like LogEntry.ConciseString() means we have
significantly more readable test logs.
Change-Id: I0b1eab6a5a837bb2001f3b32779c23df2feaa381
Reviewed-on: https://review.monogon.dev/c/monogon/+/1362
Reviewed-by: Leopold Schabel <leo@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/test/util/BUILD.bazel b/metropolis/test/util/BUILD.bazel
index 7caf53b..16ed382 100644
--- a/metropolis/test/util/BUILD.bazel
+++ b/metropolis/test/util/BUILD.bazel
@@ -5,4 +5,5 @@
srcs = ["runners.go"],
importpath = "source.monogon.dev/metropolis/test/util",
visibility = ["//metropolis:__subpackages__"],
+ deps = ["//metropolis/test/launch"],
)
diff --git a/metropolis/test/util/runners.go b/metropolis/test/util/runners.go
index 47bf59f..a2b1663 100644
--- a/metropolis/test/util/runners.go
+++ b/metropolis/test/util/runners.go
@@ -7,21 +7,25 @@
"errors"
"testing"
"time"
+
+ "source.monogon.dev/metropolis/test/launch"
)
// TestEventual creates a new subtest looping the given function until it
// either doesn't return an error anymore or the timeout is exceeded. The last
// returned non-context-related error is being used as the test error.
func TestEventual(t *testing.T, name string, ctx context.Context, timeout time.Duration, f func(context.Context) error) {
+ start := time.Now()
ctx, cancel := context.WithTimeout(ctx, timeout)
t.Helper()
+ launch.Log("Test: %s: starting...", name)
t.Run(name, func(t *testing.T) {
defer cancel()
var lastErr = errors.New("test didn't run to completion at least once")
- t.Parallel()
for {
err := f(ctx)
if err == nil {
+ launch.Log("Test: %s: okay after %.1f seconds", name, time.Since(start).Seconds())
return
}
if err == ctx.Err() {