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

Reply via email to