db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Bouschen <mbo.t...@spree.de>
Subject Re: Steps to running the TCK against jpox & derby
Date Mon, 21 Feb 2005 16:45:54 GMT
Hi Michelle,

please find two comments below.

> Hi, Michael and others,
> Here's what I've done to get jpox and derby to run against the TCK, to 
> the point where they need to find tables in the database.
> 1. Put jpox-1.1.0-beta-1.jar in tck11/iut_jars.
> 2. Put log4j-1.2.9.jar in tck11/iut_jars. (jpox needed this.)
> 3 Edit tck11/project.properties:
> # iut
> iut.properties = ${basedir}/jpox.properties
> 4. Create jpox.properties:
> javax.jdo.PersistenceManagerFactoryClass=org.jpox.PersistenceManagerFactoryImpl 
> #javax.jdo.PersistenceManagerFactoryClass=org.apache.jdo.impl.fostore.FOStorePMF 
> org.apache.jdo.ConnectionCreate=true
> javax.jdo.option.ConnectionDriverName=org.apache.derby.jdbc.EmbeddedDriver
> javax.jdo.option.ConnectionURL=jdbc:derby:jdotckdb
> #javax.jdo.option.ConnectionURL=fostore:database/fostore
> javax.jdo.option.ConnectionUserName=tckuser
> javax.jdo.option.ConnectionPassword=tckuser
> javax.jdo.option.Optimistic=false
> javax.jdo.option.RetainValues=false
> javax.jdo.option.RestoreValues=false
> 5. In the classpath section of tck11/maven.xml, place these lines BEFORE 
> the JDO jar file lines:
>        <!-- Jar files for the implementation to be tested -->
>        <path refid="test_iut_jars" />
> else  [java] 1) 
> testGetObjectId(org.apache.jdo.tck.api.jdohelper.GetObjectId)javax.jdo.JDOFatalUserException:

> JDO 2.0 capabilities cannot be accessed! Please make sure that you do 
> not have a JDO 1.0 jar in front of the JDO 2 classes in your CLASSPATH.
>    [java]      at 
> org.jpox.AbstractPersistenceManagerFactory.<init>(AbstractPersistenceManagerFactory.java:113)

I hope this issue is gone as soon as we have a api20 subproject that 
creates a jar with the JDO 2.0 API. I think a JDO implementation has to 
pass the TCK using the official JDO API jar. But this is a special 
situation because you run a JDO 2.0 preview implementation against the 
1.1 TCK.

> 6. Manually create a derby database.  I'm using iut_jars as the derby 
> system directory, meaning that it looks there for databases and 
> derby.properties. I wrote some scripts to create the db.  The procedure 
> for deleting a derby database is an OS delete operation on the directory 
> and files.
> 7. Add the following line to maven.xml in the <goal name="runtck.single" 
> ...> section:
>            <sysproperty key="derby.system.home" 
> value="${basedir}/iut_jars"/>

This is a good catch! We need a way to allow IUT specific system 
properties to be set when running the tck. I propose the following solution:
- Add the following line to the file project.properties:
iut.sysproperties = -Dderby.system.home=${basedir}/iut_jars"
A good place is after the definition of the property iut.properties.
- Add the following line to the goals runtck.single and runtck:
<jvmarg line="${iut.sysproperties}"/>
It replaces the new sysproperty setting. This allow specifying one or 
more system properties in project.properties w/o changing the maven.xml. 
What do you think?

Regards Michael

> -- Michelle

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			

View raw message