You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ss...@apache.org on 2013/12/10 19:01:21 UTC
git commit: improved test setup
Updated Branches:
refs/heads/develop cfde3aac2 -> 756b6a82b
improved test setup
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/756b6a82
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/756b6a82
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/756b6a82
Branch: refs/heads/develop
Commit: 756b6a82bac1505b6eece34990dedbf144ab9298
Parents: cfde3aa
Author: Sebastian Schaffert <ss...@apache.org>
Authored: Tue Dec 10 19:01:16 2013 +0100
Committer: Sebastian Schaffert <ss...@apache.org>
Committed: Tue Dec 10 19:01:16 2013 +0100
----------------------------------------------------------------------
.../apache/marmotta/kiwi/sail/KiWiStore.java | 31 +++++++++++++-
.../kiwi/test/MySQLConcurrencyTest.java | 13 +++---
.../kiwi/test/PostgreSQLConcurrencyTest.java | 13 +++---
.../marmotta/kiwi/test/RepositoryTest.java | 43 ++++++++------------
.../kiwi/test/sesame/KiWiLocaleTest.java | 5 +--
.../test/sesame/KiWiSailConcurrencyTest.java | 19 +--------
.../kiwi/test/sesame/KiWiSailInterruptTest.java | 1 +
.../kiwi/test/sesame/KiWiStoreTest.java | 19 +--------
.../KiWiRepositoryConnectionTest.java | 22 +---------
9 files changed, 69 insertions(+), 97 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/sail/KiWiStore.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/sail/KiWiStore.java b/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/sail/KiWiStore.java
index a3fec3a..89ed095 100644
--- a/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/sail/KiWiStore.java
+++ b/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/sail/KiWiStore.java
@@ -18,7 +18,6 @@
package org.apache.marmotta.kiwi.sail;
import com.google.common.collect.MapMaker;
-
import org.apache.marmotta.commons.sesame.tripletable.IntArray;
import org.apache.marmotta.kiwi.config.KiWiConfiguration;
import org.apache.marmotta.kiwi.persistence.KiWiDialect;
@@ -92,6 +91,12 @@ public class KiWiStore extends NotifyingSailBase {
*/
protected ConcurrentMap<IntArray,Statement> tripleRegistry;
+
+ /**
+ * Drop databases when shutdown is called. This option is mostly useful for testing.
+ */
+ private boolean dropTablesOnShutdown = false;
+
public KiWiStore(KiWiPersistence persistence, String defaultContext, String inferredContext) {
this.persistence = persistence;
this.defaultContext = defaultContext;
@@ -158,6 +163,21 @@ public class KiWiStore extends NotifyingSailBase {
return persistence;
}
+
+ /**
+ * Drop databases when shutdown is called. This option is mostly useful for testing.
+ */
+ public boolean isDropTablesOnShutdown() {
+ return dropTablesOnShutdown;
+ }
+
+ /**
+ * Drop databases when shutdown is called. This option is mostly useful for testing.
+ */
+ public void setDropTablesOnShutdown(boolean dropTablesOnShutdown) {
+ this.dropTablesOnShutdown = dropTablesOnShutdown;
+ }
+
/**
* Returns a store-specific SailConnection object.
*
@@ -174,6 +194,15 @@ public class KiWiStore extends NotifyingSailBase {
@Override
protected void shutDownInternal() throws SailException {
closeValueFactory();
+
+ if(dropTablesOnShutdown) {
+ try {
+ persistence.dropDatabase();
+ } catch (SQLException e) {
+ logger.error("error dropping database: {}", e.getMessage());
+ }
+ }
+
persistence.shutdown();
tripleRegistry = null;
initialized = false;
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/MySQLConcurrencyTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/MySQLConcurrencyTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/MySQLConcurrencyTest.java
index 29bfabf..91fce3f 100644
--- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/MySQLConcurrencyTest.java
+++ b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/MySQLConcurrencyTest.java
@@ -17,11 +17,6 @@
package org.apache.marmotta.kiwi.test;
-import static org.junit.Assert.assertTrue;
-
-import java.sql.SQLException;
-import java.util.Random;
-
import org.apache.marmotta.kiwi.config.KiWiConfiguration;
import org.apache.marmotta.kiwi.persistence.mysql.MySQLDialect;
import org.apache.marmotta.kiwi.sail.KiWiStore;
@@ -34,6 +29,11 @@ import org.openrdf.repository.sail.SailRepository;
import org.openrdf.sail.SailException;
import org.slf4j.LoggerFactory;
+import java.sql.SQLException;
+import java.util.Random;
+
+import static org.junit.Assert.assertTrue;
+
/**
* This test starts many triplestore operations in parallel to check if concurrent operations will break things,
*
@@ -53,6 +53,7 @@ public class MySQLConcurrencyTest extends ConcurrencyTestBase {
rnd = new Random();
store = new KiWiStore(mysqlConfig);
+ store.setDropTablesOnShutdown(true);
repository = new SailRepository(store);
repository.initialize();
}
@@ -61,8 +62,6 @@ public class MySQLConcurrencyTest extends ConcurrencyTestBase {
public static void dropDatabase() throws RepositoryException, SQLException, SailException {
if (store != null && store.isInitialized()) {
assertTrue(store.checkConsistency());
- store.closeValueFactory(); // release all connections before dropping the database
- store.getPersistence().dropDatabase();
repository.shutDown();
}
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/PostgreSQLConcurrencyTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/PostgreSQLConcurrencyTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/PostgreSQLConcurrencyTest.java
index 7b7b3c1..0cb8334 100644
--- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/PostgreSQLConcurrencyTest.java
+++ b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/PostgreSQLConcurrencyTest.java
@@ -17,11 +17,6 @@
package org.apache.marmotta.kiwi.test;
-import static org.junit.Assert.assertTrue;
-
-import java.sql.SQLException;
-import java.util.Random;
-
import org.apache.marmotta.kiwi.config.KiWiConfiguration;
import org.apache.marmotta.kiwi.persistence.pgsql.PostgreSQLDialect;
import org.apache.marmotta.kiwi.sail.KiWiStore;
@@ -34,6 +29,11 @@ import org.openrdf.repository.sail.SailRepository;
import org.openrdf.sail.SailException;
import org.slf4j.LoggerFactory;
+import java.sql.SQLException;
+import java.util.Random;
+
+import static org.junit.Assert.assertTrue;
+
/**
* This test starts many triplestore operations in parallel to check if concurrent operations will break things,
*
@@ -55,6 +55,7 @@ public class PostgreSQLConcurrencyTest extends ConcurrencyTestBase {
rnd = new Random();
store = new KiWiStore(psql);
+ store.setDropTablesOnShutdown(true);
repository = new SailRepository(store);
repository.initialize();
}
@@ -64,8 +65,6 @@ public class PostgreSQLConcurrencyTest extends ConcurrencyTestBase {
logger.info("cleaning up test setup...");
if (store != null && store.isInitialized()) {
assertTrue(store.checkConsistency());
- store.closeValueFactory(); // release all connections before dropping the database
- store.getPersistence().dropDatabase();
repository.shutDown();
}
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/RepositoryTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/RepositoryTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/RepositoryTest.java
index 5627f1b..ce2adae 100644
--- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/RepositoryTest.java
+++ b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/RepositoryTest.java
@@ -16,21 +16,9 @@
*/
package org.apache.marmotta.kiwi.test;
-import static org.hamcrest.CoreMatchers.hasItems;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.Matchers.hasItem;
-import static org.hamcrest.Matchers.hasProperty;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.lessThan;
-import static org.junit.Assume.assumeThat;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.sql.SQLException;
-import java.util.ConcurrentModificationException;
-import java.util.List;
-
+import com.google.common.base.Function;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.marmotta.commons.sesame.repository.ResourceUtils;
import org.apache.marmotta.kiwi.config.KiWiConfiguration;
@@ -42,11 +30,7 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.openrdf.model.Literal;
-import org.openrdf.model.Namespace;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
+import org.openrdf.model.*;
import org.openrdf.query.MalformedQueryException;
import org.openrdf.query.QueryLanguage;
import org.openrdf.query.Update;
@@ -60,9 +44,19 @@ import org.openrdf.rio.RDFParseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.SQLException;
+import java.util.ConcurrentModificationException;
+import java.util.List;
+
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.Matchers.hasItem;
+import static org.hamcrest.Matchers.*;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assume.assumeThat;
/**
* Test the Sesame repository functionality backed by the KiWi triple store.
@@ -88,14 +82,13 @@ public class RepositoryTest {
@Before
public void initDatabase() throws RepositoryException {
store = new KiWiStore(kiwiConfiguration);
+ store.setDropTablesOnShutdown(true);
repository = new SailRepository(store);
repository.initialize();
}
@After
public void dropDatabase() throws RepositoryException, SQLException {
- store.closeValueFactory(); // release all connections before dropping the database
- store.getPersistence().dropDatabase();
repository.shutDown();
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiLocaleTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiLocaleTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiLocaleTest.java
index 7815127..080aab1 100644
--- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiLocaleTest.java
+++ b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiLocaleTest.java
@@ -26,7 +26,6 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openrdf.model.Literal;
-import org.openrdf.sail.SailConnection;
import org.openrdf.sail.SailException;
import java.sql.SQLException;
@@ -50,14 +49,14 @@ public class KiWiLocaleTest {
@Before
public void initialize() throws SailException {
- store = new KiWiStore(kiwiConfig);
+ store = new KiWiStore(kiwiConfig);
+ store.setDropTablesOnShutdown(true);
store.initialize();
vf = new KiWiValueFactory(store, "http://example.org");
}
@After
public void shutdown() throws SailException, SQLException {
- store.getPersistence().dropDatabase();
store.shutDown();
store = null;
vf = null;
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailConcurrencyTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailConcurrencyTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailConcurrencyTest.java
index c5661c7..bffbd30 100644
--- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailConcurrencyTest.java
+++ b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailConcurrencyTest.java
@@ -26,11 +26,6 @@ import org.junit.runner.RunWith;
import org.openrdf.sail.Sail;
import org.openrdf.sail.SailConcurrencyTest;
import org.openrdf.sail.SailException;
-import org.openrdf.sail.helpers.SailWrapper;
-
-import java.sql.SQLException;
-
-import static org.junit.Assert.fail;
/**
* Run the Sesame {@link SailConcurrencyTest} suite.
@@ -48,18 +43,8 @@ public class KiWiSailConcurrencyTest extends SailConcurrencyTest {
@Override
protected Sail createSail() throws SailException {
- Sail store = new SailWrapper(new KiWiStore(kiwiConfig)) {
- @Override
- public void shutDown() throws SailException {
- try {
- ((KiWiStore)getBaseSail()).getPersistence().dropDatabase();
- } catch (SQLException e) {
- fail("SQL exception while deleting database");
- }
-
- super.shutDown();
- }
- };
+ KiWiStore store = new KiWiStore(kiwiConfig);
+ store.setDropTablesOnShutdown(true);
return store;
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailInterruptTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailInterruptTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailInterruptTest.java
index 710f128..92a5cff 100644
--- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailInterruptTest.java
+++ b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiSailInterruptTest.java
@@ -48,6 +48,7 @@ public class KiWiSailInterruptTest extends SailInterruptTest {
@Override
protected Sail createSail() throws SailException {
KiWiStore store = new KiWiStore(kiwiConfig);
+ store.setDropTablesOnShutdown(true);
return store;
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiStoreTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiStoreTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiStoreTest.java
index 081dae4..d1b1322 100644
--- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiStoreTest.java
+++ b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/KiWiStoreTest.java
@@ -23,11 +23,6 @@ import org.junit.runner.RunWith;
import org.openrdf.sail.RDFStoreTest;
import org.openrdf.sail.Sail;
import org.openrdf.sail.SailException;
-import org.openrdf.sail.helpers.SailWrapper;
-
-import java.sql.SQLException;
-
-import static org.junit.Assert.fail;
/**
* Run the Sesame {@link RDFStoreTest} suite.
@@ -44,18 +39,8 @@ public class KiWiStoreTest extends RDFStoreTest {
@Override
protected Sail createSail() throws SailException {
- Sail store = new SailWrapper(new KiWiStore(kiwiConfig)) {
- @Override
- public void shutDown() throws SailException {
- try {
- ((KiWiStore)getBaseSail()).getPersistence().dropDatabase();
- } catch (SQLException e) {
- fail("SQL exception while deleting database");
- }
-
- super.shutDown();
- }
- };
+ KiWiStore store = new KiWiStore(kiwiConfig);
+ store.setDropTablesOnShutdown(true);
store.initialize();
return store;
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/756b6a82/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/repository/KiWiRepositoryConnectionTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/repository/KiWiRepositoryConnectionTest.java b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/repository/KiWiRepositoryConnectionTest.java
index f71f964..4ff4632 100644
--- a/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/repository/KiWiRepositoryConnectionTest.java
+++ b/libraries/kiwi/kiwi-triplestore/src/test/java/org/apache/marmotta/kiwi/test/sesame/repository/KiWiRepositoryConnectionTest.java
@@ -17,20 +17,12 @@
package org.apache.marmotta.kiwi.test.sesame.repository;
import org.apache.marmotta.kiwi.config.KiWiConfiguration;
-import org.apache.marmotta.kiwi.persistence.h2.H2Dialect;
import org.apache.marmotta.kiwi.sail.KiWiStore;
import org.apache.marmotta.kiwi.test.junit.KiWiDatabaseRunner;
import org.junit.runner.RunWith;
import org.openrdf.repository.Repository;
import org.openrdf.repository.RepositoryConnectionTest;
import org.openrdf.repository.sail.SailRepository;
-import org.openrdf.sail.Sail;
-import org.openrdf.sail.SailException;
-import org.openrdf.sail.helpers.SailWrapper;
-
-import java.sql.SQLException;
-
-import static org.junit.Assert.fail;
/**
* Run the {@link RepositoryConnectionTest}s.
@@ -52,18 +44,8 @@ public class KiWiRepositoryConnectionTest extends RepositoryConnectionTest {
@Override
protected Repository createRepository() throws Exception {
config.setDefaultContext(null);
- Sail store = new SailWrapper(new KiWiStore(config)) {
- @Override
- public void shutDown() throws SailException {
- try {
- ((KiWiStore)getBaseSail()).getPersistence().dropDatabase();
- } catch (SQLException e) {
- fail("SQL exception while deleting database");
- }
-
- super.shutDown();
- }
- };
+ KiWiStore store = new KiWiStore(config);
+ store.setDropTablesOnShutdown(true);
return new SailRepository(store);
}