From cf51a1e299cabca7d97bce799320df407c2d020f Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Mon, 11 Dec 2017 16:52:15 +0000 Subject: [PATCH] Add sanity check for performance comparisons. --- ...elfDatabasePerformanceComparisonTest.java} | 7 ++- ...leepDatabasePerformanceComparisonTest.java | 46 +++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) rename bramble-core/src/test/java/org/briarproject/bramble/db/{H2DatabasePerformanceSelfComparisonTest.java => H2SelfDatabasePerformanceComparisonTest.java} (68%) create mode 100644 bramble-core/src/test/java/org/briarproject/bramble/db/H2SleepDatabasePerformanceComparisonTest.java 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 480282c568..a7c483512c 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 0000000000..4bc215c28b --- /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(); + } +} -- GitLab