tests: Print container logs of startup failure
This helps to better debug the root cause on failure.
Change-Id: I69d8f1c32ef12a999b4ddd8c3424505d791b30a6
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
index 503852b..a071bda 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
@@ -14,19 +14,28 @@
package com.google.gerrit.elasticsearch;
+import com.google.common.flogger.FluentLogger;
import org.apache.http.HttpHost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.testcontainers.containers.ContainerLaunchException;
import org.testcontainers.elasticsearch.ElasticsearchContainer;
import org.testcontainers.utility.DockerImageName;
/* Helper class for running ES integration tests in docker container */
public class ElasticContainer extends ElasticsearchContainer {
+ private static FluentLogger logger = FluentLogger.forEnclosingClass();
private static final int ELASTICSEARCH_DEFAULT_PORT = 9200;
public static ElasticContainer createAndStart(ElasticVersion version) {
ElasticContainer container = new ElasticContainer(version);
- container.start();
+ try {
+ container.start();
+ } catch (ContainerLaunchException e) {
+ logger.atSevere().log(
+ "Failed to launch elastic container. Logs from container :\n" + container.getLogs());
+ throw e;
+ }
return container;
}