Index: src/java/org/apache/jdo/tck/mapping/CompletenessTest.java =================================================================== --- src/java/org/apache/jdo/tck/mapping/CompletenessTest.java (revision 381630) +++ src/java/org/apache/jdo/tck/mapping/CompletenessTest.java (working copy) @@ -17,10 +17,8 @@ package org.apache.jdo.tck.mapping; import java.util.ArrayList; -import java.util.Collection; import java.util.Iterator; import java.util.List; -import java.util.StringTokenizer; import org.apache.jdo.tck.JDO_Test; import org.apache.jdo.tck.pc.company.CompanyFactoryRegistry; @@ -48,9 +46,13 @@ "Assertion A18-[not identified] failed: "; /** */ + private final boolean isTestToBePerformed = isTestToBePerformed(); + + /** */ protected List rootOids; - protected String inputFilename = System.getProperty("jdo.tck.testdata"); + /** */ + protected final String inputFilename = System.getProperty("jdo.tck.testdata"); /** * The main is called when the class @@ -61,31 +63,11 @@ BatchTestRunner.run(CompletenessTest.class); } - private boolean isTestToBePerformed() { - boolean isTestToBePerformed = true; - String requiredOptions = System.getProperty("jdo.tck.requiredOptions"); - Collection supportedOptions = getPMF().supportedOptions(); - StringTokenizer tokenizer = new StringTokenizer(requiredOptions, " ,"); - while (tokenizer.hasMoreTokens()) { - String token = tokenizer.nextToken(); - if (!token.equals("") && - !supportedOptions.contains(token)) { - isTestToBePerformed = false; - int index = getClass().getName().lastIndexOf('.'); - String testName = index==-1 ? - getClass().getName() : getClass().getName().substring(index+1); - printUnsupportedOptionalFeatureNotTested(testName, token); - break; - } - } - return isTestToBePerformed; - } - /** * @see JDO_Test#localSetUp() */ protected void localSetUp() { - if (isTestToBePerformed()) { + if (isTestToBePerformed) { addTearDownClass(CompanyModelReader.getTearDownClasses()); getPM(); CompanyFactoryRegistry.registerFactory(pm); @@ -106,7 +88,7 @@ /** */ public void test() { - if (isTestToBePerformed()) { + if (isTestToBePerformed) { // register the default factory CompanyFactoryRegistry.registerFactory(); // get new obj graph to compare persistent graph with Index: src/java/org/apache/jdo/tck/JDO_Test.java =================================================================== --- src/java/org/apache/jdo/tck/JDO_Test.java (revision 381630) +++ src/java/org/apache/jdo/tck/JDO_Test.java (working copy) @@ -33,6 +33,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Properties; +import java.util.StringTokenizer; import java.util.Vector; import javax.jdo.Extent; @@ -876,4 +877,32 @@ protected String getPMFProperty(String key) { return PMFPropertiesObject.getProperty(key); } + + /** + * Returns true if the implementation under test + * supports all JDO options contained in system property + * jdo.tck.requiredOptions. + * @return true if the implementation under test + * supports all JDO options contained in system property + * jdo.tck.requiredOptions + */ + protected boolean isTestToBePerformed() { + boolean isTestToBePerformed = true; + String requiredOptions = System.getProperty("jdo.tck.requiredOptions"); + Collection supportedOptions = getPMF().supportedOptions(); + StringTokenizer tokenizer = new StringTokenizer(requiredOptions, " ,"); + while (tokenizer.hasMoreTokens()) { + String requiredOption = tokenizer.nextToken(); + logger.debug("Required option: " + requiredOption); + if (!requiredOption.equals("") && + !supportedOptions.contains(requiredOption)) { + isTestToBePerformed = false; + int index = getClass().getName().lastIndexOf('.'); + String testName = index==-1 ? + getClass().getName() : getClass().getName().substring(index+1); + printUnsupportedOptionalFeatureNotTested(testName, requiredOption); + } + } + return isTestToBePerformed; + } } Index: src/conf/inheritance1.conf =================================================================== --- src/conf/inheritance1.conf (revision 381630) +++ src/conf/inheritance1.conf (working copy) @@ -5,4 +5,4 @@ jdo.tck.classes = org.apache.jdo.tck.mapping.CompletenessTest jdo.tck.testdata = org/apache/jdo/tck/pc/company/companyAllRelationships.xml jdo.tck.mapping = 1 -jdo.tck.requiredOptions = +jdo.tck.requiredOptions = javax.jdo.option.mapping.JoinedTablePerClass Index: src/conf/inheritance3.conf =================================================================== --- src/conf/inheritance3.conf (revision 381630) +++ src/conf/inheritance3.conf (working copy) @@ -7,4 +7,5 @@ jdo.tck.classes = org.apache.jdo.tck.mapping.CompletenessTest jdo.tck.testdata = org/apache/jdo/tck/pc/company/companyAllRelationships.xml jdo.tck.mapping = 3 -jdo.tck.requiredOptions = +jdo.tck.requiredOptions = javax.jdo.option.mapping.JoinedTablePerConcreteClass \ + javax.jdo.option.mapping.RelationSubclassTable Index: src/conf/inheritance2.conf =================================================================== --- src/conf/inheritance2.conf (revision 381630) +++ src/conf/inheritance2.conf (working copy) @@ -12,4 +12,5 @@ jdo.tck.classes = org.apache.jdo.tck.mapping.CompletenessTest jdo.tck.testdata = org/apache/jdo/tck/pc/company/companyAllRelationships.xml jdo.tck.mapping = 2 -jdo.tck.requiredOptions = javax.jdo.option.UnionJoin +jdo.tck.requiredOptions = javax.jdo.option.mapping.NonJoinedTablePerConcreteClass \ + javax.jdo.option.mapping.RelationSubclassTable