You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by Craig L Russell <Cr...@Sun.COM> on 2006/01/16 02:24:18 UTC

RunRules.html to be included in tck20 distribution

Javadogs,

Here's the latest work-in-progress RunRules.

Craig


Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Re: RunRules.html to be included in tck20 distribution

Posted by Michelle Caisse <Mi...@Sun.COM>.
Michael Bouschen wrote:

>>
>> Running the Tests
>>
>>  From the installation directory, run maven runtck.jdori which will 
>> build the required jar files used in the tests, including the API jar.
>
>
> The api jar will be downloaded from the apache(?) maven repository, 
> but it will not be build as part of the tck build process.
>
> Today runtck.jdori and runtck.iut does not automatically install the 
> schema. I propose to call maven build instead. This compiles all the 
> TCK classes, installs the schema and runs the jdori.

I agree. I think that we should also mention that this will install the 
schema and run the tests on Derby.

The RunRules should probably contain additional sections on Using other 
Datastores and Debugging to explain other features of the build and 
gotchas.  For example
 - If, while debugging the implementation, you modify the enhancer, you 
need to manually delete the enhanced classes before re-running.
 - How to use the properties jdo.tck.cleanupaftertest, jdo.tck.cfglist, 
jdo.tck.identitytypes, jdo.tck.dblist
 - How to use the goal debugtck.iut

-- Michelle

Re: RunRules.html to be included in tck20 distribution

Posted by Michael Bouschen <mb...@spree.de>.
Hi Craig,

some comments inline ...

> Javadogs,
> 
> Here's the latest work-in-progress RunRules.
> 
> 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.
> 
> 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.
> 
> Prerequisites
> 
> In order to run the TCK, you must install maven. Maven 
> http://maven.apache.org <http://maven.apache.org/> is the driver of the 
> test programs.

Sorry for being picky here. I really think we should mention that we are 
using maven 1: <http://maven.apache.org/maven-1.x/> and not maven 2.

> 
> You must test the JDO implementation on all configurations that the 
> implementation supports. This includes different versions of Java and 
> different datastores. The TCK supports Java versions from JDK 1.3 to 1.5.
> 
> Installation
> 
> Download the zip file from the distribution at the Java Community 
> Process web site http://jcp.org/en/jsr/detail?id=243. 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.

I think this directory will be created during the build and is not part 
of 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 only if the DDL
>             for the database under test is not provided.
> 
>           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 must not
>             be modified except to add DDL-generation information (which
>             is not used by the TCK).
> 
>           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.

The TCK includes some PMF tests that lookup the PMF via JNDI. We 
currently use fscontext.jar and providerutil.jar. They can be found at
http://java.sun.com/products/jndi/downloads/index.html. Choose "File 
System Service Provider, 1.2 Beta 3" from the "Download JNDI 1.2.1 & 
More" page. I propose to include a directory lib/ext to store 
fscontext.jar and providerutil.jar.

> 
> Modifying the Configuration
> 
> The Implementation Under Test (IUT) must be installed into the directory 
> <install-dir>/iut_jars. Any .jar files in this directory are added to 
> the class path used to run the tests.
> 
> There are two properties files that must be modified to be IUT-specific. 
> The <install-dir>/iut.properties file contains information used to 
> configure the execution environment of the IUT. The 
> <install-dir>/iutpmf.properties file contains information used to 
> construct the PersistenceManagerFactory used in the tests.
> 
> Sample configuration files are provided for the sql configuration. These 
> files may be modified in order to suit the JDO implementation under test.
> 
> Running the Tests
> 
>  From the installation directory, run maven runtck.jdori which will 
> build the required jar files used in the tests, including the API jar.

The api jar will be downloaded from the apache(?) maven repository, but 
it will not be build as part of the tck build process.

Today runtck.jdori and runtck.iut does not automatically install the 
schema. I propose to call maven build instead. This compiles all the TCK 
classes, installs the schema and runs the jdori.

Regards Michael

> 
>  From the installation 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: jdo-dev@db.apache.org 
> <ma...@db.apache.org> with a subject line containing 
> “CHALLENGE” and the name of the test program, e.g. 
> org.apache.jdo.tck.api.persistencemanager.ThreadSafe.java; and the body 
> of the email containing the details of the challenge.
> 
> 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:Craig.Russell@sun.com
> 
> P.S. A good JDO? O, Gasp!
> 
> 


-- 
Michael Bouschen		Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de	http://www.tech.spree.de/
Tel.:++49/30/235 520-33		Buelowstr. 66			
Fax.:++49/30/2175 2012		D-10783 Berlin