db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michelle Caisse <Michelle.Cai...@Sun.COM>
Subject Re: Steps to running the TCK against jpox & derby
Date Tue, 22 Feb 2005 16:36:28 GMT
Michael Bouschen wrote:

> 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.

Yes, that's right. We currently need to do this for testing.

>
>>
>> 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?

Yes, I think this is fine. 

-- Michelle

>
> Regards Michael
>
>>
>> -- Michelle
>>
>
>


Mime
View raw message