From a32d021f6f7d7bd0e48125eef40296b68c762485 Mon Sep 17 00:00:00 2001 From: "user.email" Date: Sat, 24 Oct 2026 11:38:49 -0700 Subject: [PATCH] test: keep docker errors in trino container diagnostics Report docker inspect/logs failures instead of dropping them, and include the last docker exec output in the container-dead fatal so a missing container still explains what happened. --- test/s3tables/catalog_trino/trino_catalog_test.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/s3tables/catalog_trino/trino_catalog_test.go b/test/s3tables/catalog_trino/trino_catalog_test.go index 483fb4ecba..665bdbb6d2 100644 --- a/test/s3tables/catalog_trino/trino_catalog_test.go +++ b/test/s3tables/catalog_trino/trino_catalog_test.go @@ -516,7 +516,7 @@ func waitForTrino(t *testing.T, containerName string, timeout time.Duration) { } if containerDead { - t.Fatalf("Trino container %s exited before becoming ready\n%s", containerName, trinoContainerDiagnostics(containerName)) + t.Fatalf("Trino container %s exited before becoming ready\nLast output:\n%s\n%s", containerName, string(lastOutput), trinoContainerDiagnostics(containerName)) } t.Fatalf("Timed out waiting for Trino to be ready\nLast output:\n%s", string(lastOutput)) } @@ -527,9 +527,13 @@ func trinoContainerDiagnostics(containerName string) string { "status={{.State.Status}} exitCode={{.State.ExitCode}} oomKilled={{.State.OOMKilled}} error={{.State.Error}}", containerName).CombinedOutput(); err == nil { fmt.Fprintf(&b, "docker inspect: %s\n", strings.TrimSpace(string(out))) + } else { + fmt.Fprintf(&b, "docker inspect failed: %v (%s)\n", err, strings.TrimSpace(string(out))) } if out, err := exec.Command("docker", "logs", "--tail", "80", containerName).CombinedOutput(); err == nil { fmt.Fprintf(&b, "docker logs:\n%s", string(out)) + } else { + fmt.Fprintf(&b, "docker logs failed: %v (%s)", err, strings.TrimSpace(string(out))) } return b.String() }