Author: reschke
Date: Fri Feb 28 10:10:00 2014
New Revision: 1572901
URL: http://svn.apache.org/r1572901
Log:
OAK-1478 - allow selecting a nodestore fixture for tests
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java?rev=1572901&r1=1572900&r2=1572901&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
Fri Feb 28 10:10:00 2014
@@ -16,8 +16,12 @@
*/
package org.apache.jackrabbit.oak.jcr;
-import java.util.Arrays;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.jcr.GuestCredentials;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
@@ -50,20 +54,48 @@ public abstract class AbstractRepository
private Repository repository;
private Session adminSession;
+ /**
+ * The system property "ns-fixtures" can be used to provide a
+ * whitespace-separated list of fixtures names for which the
+ * tests should be run (the default is to use all fixtures).
+ */
+ private static Set<String> FIXTURES;
+ static {
+ String raw = System.getProperty("ns-fixtures", "");
+ String[] fs = raw.split("\\s");
+ Set<String> tmp = new HashSet<String>();
+ for (String f : fs) {
+ String x = f.trim();
+ if (x.length() > 0) {
+ tmp.add(f.trim());
+ }
+ }
+ FIXTURES = Collections.unmodifiableSet(tmp);
+ }
+
public AbstractRepositoryTest(NodeStoreFixture fixture) {
this.fixture = fixture;
}
@Parameterized.Parameters
public static Collection<Object[]> fixtures() {
- Object[][] fixtures = new Object[][] {
- {NodeStoreFixture.MK_IMPL},
- {NodeStoreFixture.DOCUMENT_MK},
- {NodeStoreFixture.DOCUMENT_NS},
- {NodeStoreFixture.SEGMENT_MK},
- {NodeStoreFixture.DOCUMENT_JDBC},
- };
- return Arrays.asList(fixtures);
+ Collection<Object[]> result = new ArrayList<Object[]>();
+ if (FIXTURES.isEmpty() || FIXTURES.contains("MK_IMPL")) {
+ result.add(new Object[] { NodeStoreFixture.MK_IMPL });
+ }
+ if (FIXTURES.isEmpty() || FIXTURES.contains("DOCUMENT_MK")) {
+ result.add(new Object[] { NodeStoreFixture.DOCUMENT_MK });
+ }
+ if (FIXTURES.isEmpty() || FIXTURES.contains("DOCUMENT_NS")) {
+ result.add(new Object[] { NodeStoreFixture.DOCUMENT_NS });
+ }
+ if (FIXTURES.isEmpty() || FIXTURES.contains("SEGMENT_MK")) {
+ result.add(new Object[] { NodeStoreFixture.SEGMENT_MK });
+ }
+ if (FIXTURES.isEmpty() || FIXTURES.contains("DOCUMENT_JDBC")) {
+ result.add(new Object[] { NodeStoreFixture.DOCUMENT_JDBC });
+ }
+ return result;
}
@After