You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by Apache Wiki <wi...@apache.org> on 2005/09/14 00:08:55 UTC

[Jdo Wiki] Update of "TechnologyCompatibilityKit" by MichelleCaisse

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jdo Wiki" for change notification.

The following page has been changed by MichelleCaisse:
http://wiki.apache.org/jdo/TechnologyCompatibilityKit

The comment on the change is:
Interim check-in, content is incomplete

------------------------------------------------------------------------------
  A single schema, data set, object model and mapping will be used to test conformance for as much of the specification as is possible.  For those areas that aren't covered by this master variable set, the TCK will include variations on the master variable set for testing.
  
  It is a design goal of the TCK to reduce the number of permutations of these variables.  In order to minimize the number of database schemata, the TCK aims to generate, via a DDL generator, any database schemas required.  It is not expected that the first version of the JDO 2.0 TCK will include such a generator.  Until such time, database schemata will be maintained manually.  In an effort to eliminate the number of vendor-specific database products, SQL92 will be used to express the database schemata, and implementations will be able to test their conformance against any number of database vendors' products.  We have not yet determined to what degree variations from the TCK's schemata will affect conformance test results.
+ 
+ 
+ = How to Develop a Test =
+ 
+ These instructions assume that you already know how to check out and build JDO.  See SubversionRepository for more information.
+  1. Choose an assertion or group of related assertions to test (see JDO TCK Assertions, below).
+  1. Choose a package, new or existing, for the tests.
+  1. Decide which assertions belong in a single test.
+  1. Obtain the test template, copy to the appropriate package, and edit as described below.
+  1. Choose a name for the test.
+  1. Decide which test superclass to subclass for this test.
+  1. Choose existing persistence capable classes from org/apache/jdo/tck/pc/* if your test requires instantiating a pc class. In rare cases, existing pc classes may not be suitable and you may write a new pc class or model.
+  1. Write the test (see Guidelines for Writing Test Code, below).
+  1. If the test requires, provide a schema file, mapping file, and xml test data (see Configuration Files, Schemas, Metadata, and XML Test Data, below).
+  1. Write a configuration file. If your test requires a non-default schema, mapping, or xml test data, you will eventually check in the configuration file.  In most cases, this is a temporary file for debuggin your test and you will later add an entry to alltests.conf. In this case, add a file called onetest.conf to test/conf with the following content:
+   {{{
+ jdo.tck.description = Run one test for debugging
+ jdo.tck.testdata = 
+ jdo.tck.standarddata = 
+ jdo.tck.mapping = 0
+ jdo.tck.classes = org.apache.jdo.tck.<your package & test name>
+ }}}
+  1. Install the database schema for the test
+   {{{
+   maven -Djdo.tck.cfglist=onetest.conf installSchema
+   }}}
+  1. Execute the test with
+   {{{
+   maven -Djdo.tck.cfglist=onetest.conf runtck.jdori
+   }}}
+  1. Debug the test.
+  1. When the test is ready for review, add an entry to test/conf/alltests.conf.
+  1. Create a patch and submit to jdo-dev for review. From the tck20 directory, do:
+    {{{
+    svn diff > myPatch.patch
+    }}}
+  1. Make changes as agreed upon by the community.  When all changes are complete, submit the patch for check-in.
  
  = JDO TCK Assertions =
  
@@ -32, +69 @@

  Download the current version of the assertions spreadsheet [http://svn.apache.org/viewcvs.cgi/*checkout*/incubator/jdo/trunk/tck20/assertions/JdoTckAssertionsTable.sxc here].
  It is in Star``Office/Open``Office format. This version adds new assertions to the query chapter covering JDOQL extensions in JDO 2.0. Furthermore it updates the assertions about JDOPermissions.
  
- = Test Development Guidelines =
+ = Guidelines for Writing the Test Code =
  
+ (more information needed here)
- == Test Classes ==
- 
- Whenever possible use existing persistence capable classes as model data for your test. These classes are in org/apache/jdo/tck/pc/*.
  
  == Cleanup ==
  
@@ -63, +98 @@

  
  '''Note''': The order of adding tear down instances and classes is significant. The default implementation of "localTearDown" first deletes  all added instances in exactly that order they have been added. Afterwards it deletes the extents of all classes in exactly that order they have been added.
  
+ = Configuration Files, Schemas, Metadata, and XML Test Data =
+ 
+ (content to be provided)
+ 
  = TCK ToDo =
  
  This is the list of tasks required to complete the JDO 2.0 TCK.