From 973e525b4c638dcc6cb9f8c05f1e9cfd2b20ea5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yoann=20Rodi=C3=A8re?= Date: Tue, 14 Apr 2020 16:49:10 +0200 Subject: [PATCH] HSEARCH-3892 Add some logging to tests for easier debugging of test setup failures --- .../tck/testsupport/util/rule/SearchSetupHelper.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java index 2f815fcf28e..48fcc0886bb 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java @@ -7,6 +7,7 @@ package org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule; import java.io.IOException; +import java.lang.invoke.MethodHandles; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -29,6 +30,8 @@ import org.hibernate.search.integrationtest.backend.tck.testsupport.util.TckBackendHelper; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.TckBackendSetupStrategy; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.TckConfiguration; +import org.hibernate.search.util.common.logging.impl.Log; +import org.hibernate.search.util.common.logging.impl.LoggerFactory; import org.hibernate.search.util.impl.integrationtest.common.TestConfigurationProvider; import org.hibernate.search.util.impl.integrationtest.mapper.stub.StubMappingIndexManager; import org.hibernate.search.engine.cfg.spi.ConfigurationPropertySource; @@ -47,6 +50,8 @@ public class SearchSetupHelper implements TestRule { + private final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() ); + private final TestConfigurationProvider configurationProvider; private final TckBackendSetupStrategy setupStrategy; private final TestRule delegateRule; @@ -106,6 +111,12 @@ public void evaluate() throws Throwable { try { base.evaluate(); } + catch (RuntimeException e) { + // When used as a @ClassRule, exceptions are not properly reported by JUnit. + // Log them so that we have something in the logs, at least. + log.warn( "Exception thrown by test and caught by SearchSetupHelper rule: " + e.getMessage(), e ); + throw e; + } finally { cleanUp( closer ); }