Here is the patch for JDO-131 incorporating Craig and Michael's recommendations.
--
Karan Singh
Index: C:/ApacheJDO/trunk/tck20/test/java/org/apache/jdo/tck/JDO_Test.java
===================================================================
--- C:/ApacheJDO/trunk/tck20/test/java/org/apache/jdo/tck/JDO_Test.java (revision 279926)
+++ C:/ApacheJDO/trunk/tck20/test/java/org/apache/jdo/tck/JDO_Test.java (working copy)
@@ -137,6 +137,13 @@
/** Name of the file contaninig the properties for the PMF. */
protected static String PMFProperties = System.getProperty("PMFProperties");
+ /** String indicating whether to clean up data after tests or not. The value can be either
+ * "true" or "false". If "false" then test will not clean up data from database.
+ * The default value is "true".
+ */
+ protected static boolean cleanupData =
+ System.getProperty("jdo.tck.cleanupaftertest", "true").equalsIgnoreCase("true");
+
/** The Properties object for the PersistenceManagerFactory. */
protected static Properties PMFPropertiesObject;
@@ -260,7 +267,9 @@
pmf = null;
try {
- localTearDown();
+ if (cleanupData) {
+ localTearDown();
+ }
}
catch (Throwable t) {
setTearDownThrowable("localTearDown", t);
Index: C:/ApacheJDO/trunk/tck20/maven.xml
===================================================================
--- C:/ApacheJDO/trunk/tck20/maven.xml (revision 279926)
+++ C:/ApacheJDO/trunk/tck20/maven.xml (working copy)
@@ -41,7 +41,8 @@
<echo>Options for this project are:</echo>
<echo> -Djdo.tck.cfglist=xxx - a list of configuration files (must be in test/conf)</echo>
<echo> -Djdo.tck.dblist=xxx - a list of databases</echo>
- <echo> -Djdo.tck.identitytypes=xxx - a list of identity types (applicationidentity, datastoreidentity)</echo>
+ <echo> -Djdo.tck.identitytypes=xxx - a list of identity types (applicationidentity, datastoreidentity)</echo>
+ <echo> -Djdo.tck.cleanupaftertest=xxx - true/false. Setting it to false will retain data in database after test. This will allow inspection of data after test is run. Default is true</echo>
<echo></echo>
<echo>Examples:</echo>
<echo> maven -Djdo.tck.identitytypes=datastoreidentity installSchema</echo>
@@ -314,6 +315,8 @@
value="${jdo.tck.exclude}"/>
<sysproperty key="jdo.tck.log.directory"
value="${jdo.tck.log.directory}/${timestamp}"/>
+ <sysproperty key="jdo.tck.cleanupaftertest"
+ value="${jdo.tck.cleanupaftertest}"/>
<jvmarg line="${database.runtck.sysproperties}"/>
<jvmarg line="${iut.runtck.sysproperties}"/>
<arg line="${jdo.tck.classes}"/>
@@ -361,6 +364,8 @@
value="${jdo.tck.exclude}"/>
<sysproperty key="jdo.tck.log.directory"
value="${jdo.tck.log.directory}/${timestamp}"/>
+ <sysproperty key="jdo.tck.cleanupaftertest"
+ value="${jdo.tck.cleanupaftertest}"/>
<jvmarg line="${database.runtck.sysproperties}"/>
<jvmarg line="${jdo.runtck.sysproperties}"/>
<arg line="${jdo.tck.classes}"/>
Index: C:/ApacheJDO/trunk/tck20/project.properties
===================================================================
--- C:/ApacheJDO/trunk/tck20/project.properties (revision 279926)
+++ C:/ApacheJDO/trunk/tck20/project.properties (working copy)
@@ -42,7 +42,8 @@
maven.junit.dir = ${jdo.tck.testdir}
maven.junit.sysproperties = PMFProperties
PMFProperties = jdori.properties
-
+# Setting this property to false will turn off cleanup of data from database to inspect database contents after test run
+jdo.tck.cleanupaftertest = true
# JDO TCK settings
jdo.tck.dblist=derby
jdo.tck.identitytypes=applicationidentity datastoreidentity