diff --git a/src/test/java/com/google/cloud/spanner/jdbc/SavepointMockServerTest.java b/src/test/java/com/google/cloud/spanner/jdbc/SavepointMockServerTest.java index 2c5d5185d..f74cff82f 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/SavepointMockServerTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/SavepointMockServerTest.java @@ -43,6 +43,7 @@ import java.sql.SQLException; import java.sql.Savepoint; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; import org.junit.After; import org.junit.Before; @@ -54,6 +55,8 @@ @RunWith(Parameterized.class) public class SavepointMockServerTest extends AbstractMockServerTest { + private static Dialect currentDialect; + @Parameter public Dialect dialect; @Parameters(name = "dialect = {0}") @@ -63,13 +66,18 @@ public static Object[] data() { @Before public void setupDialect() { - mockSpanner.putStatementResult(StatementResult.detectDialectResult(this.dialect)); + // Only reset the dialect result when it has actually changed. This prevents the SpannerPool + // from being closed after each test, which again makes the test slower. + if (!Objects.equals(this.dialect, currentDialect)) { + currentDialect = this.dialect; + mockSpanner.putStatementResult(StatementResult.detectDialectResult(this.dialect)); + SpannerPool.closeSpannerPool(); + } } @After public void clearRequests() { mockSpanner.clearRequests(); - SpannerPool.closeSpannerPool(); } private String createUrl() {