Improve logging in upgrade tests
MODIFY
cmd/dendrite-upgrade-tests/main.go
cmd/dendrite-upgrade-tests/main.go
@@ -381,18 +381,22 @@ func runImage(dockerClient *client.Client, volumeName, version, imageID string)
lastErr = nil
break
}
- if lastErr != nil {
logs, err := dockerClient.ContainerLogs(context.Background(), containerID, types.ContainerLogsOptions{
ShowStdout: true,
ShowStderr: true,
+ Follow: true,
})
// ignore errors when cannot get logs, it's just for debugging anyways
if err == nil {
- logbody, err := io.ReadAll(logs)
- if err == nil {
- log.Printf("Container logs:\n\n%s\n\n", string(logbody))
+ go func() {
+ for {
+ if body, err := io.ReadAll(logs); err == nil && len(body) > 0 {
+ log.Printf("%s: %s", version, string(body))
+ } else {
+ return
}
}
+ }()
}
return baseURL, containerID, lastErr
}

Improve logging in upgrade tests