Hi Craig,

two minor comments:

Please mention that we are using maven 1 (recommended version is maven 1.0.2). We do not run with maven 2.

Section "Running the Tests" describes to use 'maven multiproject:build' to build the requires jars. This works because the distribution does not contain all the subprojects from the repository. If you call the same command in your svn workspace it would build all the JDO1 and JDO2 subprojects. I propose to call 'maven tck20.build' instead. This builds tck20 including any dependent JDO subprojects and works in both environments: the distribution and an svn workspace.

Regards Michael

Javadogs,

Attached please find the first draft of the TCK run rules for JDO 2.0. Please comment.

Craig


------------------------------------------------------------------------


  Running the JDO 2.0 Technology Compatibility Kit

Overview

In order to demonstrate compliance with the Java Data Objects specification, an implementation must successfully run all of the TCK tests that are not on the “excluded” list.

Maven http://maven.apache.org <http://maven.apache.org/> is the driver of the test programs.

Normally, the results should be posted on the JDO supplier's web site for examination by the public. The posting includes the output of the test run, which consists of multiple log files, configuration information, and results. For an example of the required posting, please see http://db.apache.org/jdo/tck/final.

Installation

Download the zip file from the distribution at the Java Community Process web site http://blah <http://blah/> blah. Unpack the zip file into a directory of your choice. In this directory you will find: this RunRules.html, some configuration files, and several directories:

    *

      maven.xml, project.properties, project.xml – the maven definition
      of the project. These files must not be modified.

    *

      assertions – contains the assertions file identifying the
      assertions tested by the tests. This is for reference.

    *

      target – this directory contains artifacts of compiling and
      running the tests. It is empty in the distribution.

    *

      iut_jars – this directory is where the JDO implementation jars are
      installed. It is empty in the distribution. To use the maven
      targets runtck.iut (required for an implementation to prove
      compliance), copy the JDO implementation jar files into this
      directory.

    *

      test – this directory contains the test configuration files and
      directories:

          o

            testdata – this directory contains data (represented as .xml
            files) loaded into the datastore for tests. These files must
            not be modified.

          o

            sql – this directory contains DDL to define the tables used
            in the tests. These files may be modified to suit the JDO
            implementation.

          o

            jdo – this directory contains .jdo metadata files for the
            persistent classes used in the tests. These files must not
            be modified.

          o

            orm – this directory contains .orm metadata files to map the
            persistent classes to the sql tables. These files may be
            modified to suit the JDO implementation.

          o

            java – this directory contains the source code to the TCK
            tests. These files must not be modified.

          o

            conf – this directory contains the configuration information
            for the test runs. These files must not be modified, except
            to put a successfully challenged test case into the
            trunk/tck20/test/conf/exclude.list. Please see below.

Modifying the Configuration

Sample configuration files are provided for the .orm and sql configuration for the mapping. These files may be modified in order to suit the JDO implementation under test.

Running the Tests

From the trunk directory, run maven multiproject:build which will build the required jar files used in the tests, including the API jar.

From the trunk/tck20 directory, run maven runtck.iut to run the tests. This will produce console output plus a directory in the trunk/tck20/target/logs directory with the date/time the tests were started. This directory contains the output of the tests which is to be published.

Publishing the Results of the TCK Tests

With a successful test run, the log directory with the results of the tests must be published on a publicly-available web site. The unmodified directory is the self-certification of the successful TCK test run.

Challenging the Validity of a Test or Configuration

If any test does not pass on the JDO implementation under test, this may be due to an error in the implementation or in the TCK test. If you believe that the failure is due to an error in the TCK test, you may challenge the test. To do so, send email to: [email protected] <mailto:[email protected]> with “CHALLENGE” and the name of the test program, e.g. org.apache.jdo.tck.api.persistencemanager.ThreadSafe.java and detail the issue in the body of the email.

If the issue is found by the Maintenance Lead to be due to an error in the test case, then the test may be put into the trunk/tck20/test/conf/exclude.list and it will not be run as part of the TCK.

Decisions of the Maintenance Lead may be appealed to the full expert group. A vote of the full expert group will be conducted by the Maintenance Lead, and a majority of votes cast will decide the issue. The Maintenance Lead has one vote, as does each member of the expert group at the time of the vote.


------------------------------------------------------------------------


Craig Russell

Architect, Sun Java Enterprise System http://java.sun.com/products/jdo

408 276-5638 mailto:[EMAIL PROTECTED]

P.S. A good JDO? O, Gasp!




--
Michael Bouschen                [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED]        http://www.tech.spree.de/
Tel.:++49/30/235 520-33         Buelowstr. 66                   
Fax.:++49/30/2175 2012          D-10783 Berlin                  

Reply via email to