diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabasePerformanceSelfComparisonTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2SelfDatabasePerformanceComparisonTest.java similarity index 68% rename from bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabasePerformanceSelfComparisonTest.java rename to bramble-core/src/test/java/org/briarproject/bramble/db/H2SelfDatabasePerformanceComparisonTest.java index 480282c56854eaaa80958d3902d81c4d6f878e49..a7c483512c482a7daa6be1fd45d830d071f692f1 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2DatabasePerformanceSelfComparisonTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2SelfDatabasePerformanceComparisonTest.java @@ -6,8 +6,13 @@ import org.junit.Ignore; import java.sql.Connection; +/** + * Sanity check for {@link JdbcDatabasePerformanceComparisonTest}: check that + * if conditions A and B are identical, no significant difference is (usually) + * detected. + */ @Ignore -public class H2DatabasePerformanceSelfComparisonTest +public class H2SelfDatabasePerformanceComparisonTest extends JdbcDatabasePerformanceComparisonTest { @Override diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2SleepDatabasePerformanceComparisonTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2SleepDatabasePerformanceComparisonTest.java new file mode 100644 index 0000000000000000000000000000000000000000..4bc215c28b286bd678a4ccadcb2dab58db7107b3 --- /dev/null +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2SleepDatabasePerformanceComparisonTest.java @@ -0,0 +1,46 @@ +package org.briarproject.bramble.db; + +import org.briarproject.bramble.api.db.DatabaseConfig; +import org.briarproject.bramble.api.db.DbException; +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.bramble.api.system.Clock; +import org.junit.Ignore; + +import java.sql.Connection; + +/** + * Sanity check for {@link JdbcDatabasePerformanceComparisonTest}: check that + * if condition B sleeps for 1ms before every commit, condition A is + * considered to be faster. + */ +@Ignore +public class H2SleepDatabasePerformanceComparisonTest + extends JdbcDatabasePerformanceComparisonTest { + + @Override + Database<Connection> createDatabase(boolean conditionA, + DatabaseConfig databaseConfig, Clock clock) { + if (conditionA) { + return new H2Database(databaseConfig, clock); + } else { + return new H2Database(databaseConfig, clock) { + @Override + @NotNullByDefault + public void commitTransaction(Connection txn) + throws DbException { + try { + Thread.sleep(1); + } catch (InterruptedException e) { + throw new DbException(e); + } + super.commitTransaction(txn); + } + }; + } + } + + @Override + protected String getTestName() { + return getClass().getSimpleName(); + } +}