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