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 Michelle Caisse <Mi...@Sun.COM> on 2005/05/19 22:33:01 UTC

Re: JDO TCK Conference Call Friday, May 20, 9 am PST

Hi,

We will have our regular meeting Friday, May 20 at 9 am PST to discuss 
JDO TCK issues and status.

Dial-in numbers are:

866 230-6968   294-0479#
International: +1 865 544-7856

Agenda:

Test status (Michelle)
Test cleanup fix (Michael W.)
What is test/conf/JDOTCKTestCases.list for? (Michael B.)
Detached objects (Matthew)
Build dependency on cvs (Geoff)
Apache accounts for Matthew and Eric (Craig)
XML Schema (Brian T)
JDO API release on ibiblio (Brian T)
Other  issues  and status (any and all)

-- Michelle

Re: JDO TCK Conference Call Friday, May 20, 9 am PST

Posted by Michael Watzek <mw...@spree.de>.
Hi Michelle,

I cannot join the meeting today. This is my status:

- Finished up with ri11 break out. Michael will check in new projects: 
core20, enhancer20, runtime20, query20, fostore20. fostore20 contains 
the testsuite. 2 Tests are contained in enhancer20.

- Started work on JDO-48 (http://issues.apache.org/jira/browse/JDO-48).

FYI: I'll have a day off on Monday.

Regards,
Michael

> Hi,
> 
> We will have our regular meeting Friday, May 20 at 9 am PST to discuss 
> JDO TCK issues and status.
> 
> Dial-in numbers are:
> 
> 866 230-6968   294-0479#
> International: +1 865 544-7856
> 
> Agenda:
> 
> Test status (Michelle)
> Test cleanup fix (Michael W.)
> What is test/conf/JDOTCKTestCases.list for? (Michael B.)
> Detached objects (Matthew)
> Build dependency on cvs (Geoff)
> Apache accounts for Matthew and Eric (Craig)
> XML Schema (Brian T)
> JDO API release on ibiblio (Brian T)
> Other  issues  and status (any and all)
> 
> -- Michelle


-- 
-------------------------------------------------------------------
Michael Watzek                  Tech@Spree Engineering GmbH
mailto:mwa.tech@spree.de        Buelowstr. 66
Tel.:  ++49/30/235 520 36       10783 Berlin - Germany
Fax.:  ++49/30/217 520 12       http://www.spree.de/
-------------------------------------------------------------------

Re: TestRunner status

Posted by Michelle Caisse <Mi...@Sun.COM>.
Michael,

Thanks for your comments.  My responses are inline.

Michael Bouschen wrote:

> Hi Michelle,
>
> this looks very good!
>
> I have some minor questions/remarks below ...
>
>
>> TestRunner is a project to automate running the TCK for all 
>> databases, identity types, security settings, schemas, mappings, and 
>> test cases with a single maven invocation.  We discussed doing the 
>> hard stuff either in maven or with an extended java/JUnit 
>> TestRunner.  It seems possible to do it in maven.  Below is a working 
>> outline of a maven goal that loops through the various parameters and 
>> repeatedly executes a test run, followed by the results generated by 
>> this goal.
>>
>> _______________
>> maven.xml:
>> _______________
>>
>> <project default="default"
>>    xmlns:j="jelly:core"
>>    xmlns:ant="jelly:ant"
>>    xmlns:maven="jelly:maven"
>>    xmlns:u="jelly:util"
>>    >
>> ...
>>    <!-- ================== -->
>>    <!-- Running test cases -->
>>    <!-- ================== -->
>>
>>    <preGoal name="runallcfgs.jdori">
>>
>>        <!-- Install schema for each database -->
>>        <u:properties file="${basedir}/test/conf/db.list"/>
>>        <u:tokenize var="jdo.tck.dblist" delim=" ">
>>            ${jdo.tck.dblist}
>>        </u:tokenize>
>
>
> Question: The property jdo.tck.dblist is a string of database names 
> separated by space and the tokenize tag converts this string into a 
> collection of strings (one string per database) such that you can use 
> the forEach tag to iterate it. Am I right?
>
> The forEach tag allows to directly iterate a comma separated String (see
> http://jakarta.apache.org/commons/jelly/tags.html#core:forEach). So if 
> we define jdo.tck.dblist as comma separated string we do not need the 
> tokenize:
> jdo.tck.dblist=derby, mysql, oracle

I agree that this ought to work, but I have not been able to make it 
work.  I saw sample code somewhere that used the tokenize tag for a 
similar situation, so perhaps it is necessary.  I did some experiments, 
entering the databases as a comma-delimited list and running with and 
without tokenization.  Echoing the  property before and after 
tokenization, I get:

    [echo] jdo.tck.dblist (before tokenization) = derby,mysql,oracle

    [echo] jdo.tck.dblist (after tokenization) = [derby, mysql, oracle]

Entering the list in the file exactly like the tokenization output still 
did not result in forEach recognizing individual tokens.  For everything 
I tried, it treats the entire list as one item.

>
>>        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
>>            <attainGoal name="databaseStub"/>
>>        </j:forEach>
>>
>>        <!-- Enhance and build jar file for each identity type -->
>>        <u:properties file="${basedir}/test/conf/identity.list"/>
>>        <u:tokenize var="jdo.tck.idlist" delim=" ">
>>            ${jdo.tck.idlist}
>>        </u:tokenize>
>>        <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
>>            <attainGoal name="enhanceStub"/>
>>        </j:forEach>
>>
>>    </preGoal>
>>
>>    <goal name="runallcfgs.jdori" prereqs="java:compile, 
>> testrunner.set, copyprops">
>>
>>        <!-- Run tests for all databases, identity types, and 
>> configurations -->
>>        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
>>            <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
>>                <u:properties 
>> file="${basedir}/test/conf/configurations.list"/>
>
>
> Is there any reason to load the configurations properties here instead 
> of doing this in the preGoal along with the other properties files? I 
> think having the <u:properties> tag as part of the inner loop means 
> the file is loaded multiple times. Or does the file 
> configurations.list refer any properties that are changed in the loops?

Good point.  I pulled this out and put it in the preGoal.

-- Michelle

>
> Regards Michael
>
>>                <u:tokenize var="jdo.tck.cfglist" delim=" ">
>>                    ${jdo.tck.cfglist}
>>                </u:tokenize>
>>                <j:forEach var="jdo.tck.cfg" items="${jdo.tck.cfglist}">
>>                    <!-- get jdo.tck.classes (list of testclasses), 
>> jdo.tck.testdata, jdo.tck.mapping -->
>>                    <u:properties 
>> file="${basedir}/test/conf/${jdo.tck.cfg}"/>
>>                    <attainGoal name="runtckStub"/>
>>                </j:forEach>
>>            </j:forEach>
>>        </j:forEach>
>>
>>    </goal>
>>
>>    <goal name="databaseStub">
>>        <echo>Install schema in ${jdo.tck.db}</echo>
>>    </goal>
>>
>>    <goal name="enhanceStub">
>>        <echo>Enhance classes for ${jdo.tck.id}</echo>
>>    </goal>
>>
>>    <goal name="runtckStub">
>>        <echo>Run tck using database ${jdo.tck.db},
>>                 identity type ${jdo.tck.id},
>>                 configuration ${jdo.tck.cfg}
>>        </echo>
>>        <echo>Run test classes ${jdo.tck.classes}
>>                with test data ${jdo.tck.testdata}
>>                and mapping/schema files ${jdo.tck.mapping}
>>        </echo>
>>    </goal>
>>
>> _______________
>> Results:
>> _______________
>> $ maven -o runallcfgs.jdori
>> __  __
>> |  \/  |__ _Apache__ ___
>> | |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
>> |_|  |_\__,_|\_/\___|_||_|  v. 1.0.2
>>
>> You are working offline so the build will continue, but 
>> jpox-SNAPSHOT.jar may be out of date!
>> You are working offline so the build will continue, but 
>> jdo2-api-SNAPSHOT.jar may be out of date!
>> You are working offline so the build will continue, but 
>> jpox-enhancer-SNAPSHOT.jar may be out of date!
>> build:start:
>>
>> java:prepare-filesystem:
>>
>> java:compile:
>>    [echo] Compiling to c:\svn5\jdo\trunk\tck20/target/classes
>>
>> testrunner.set:
>>
>> copyprops:
>>
>> runallcfgs.jdori:
>> databaseStub:
>>    [echo] Install schema in derby
>>
>> databaseStub:
>>    [echo] Install schema in mysql
>>
>> databaseStub:
>>    [echo] Install schema in oracle
>>
>> enhanceStub:
>>    [echo] Enhance classes for application
>>
>> enhanceStub:
>>    [echo] Enhance classes for datastore
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type application,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type application,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type application,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type datastore,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
>> le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jd
>> o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo
>> .tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type datastore,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type datastore,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type application,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
>> le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jd
>> o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo
>> .tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type application,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type application,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type datastore,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type datastore,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type datastore,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type application,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type application,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type application,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type datastore,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type datastore,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type datastore,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>> BUILD SUCCESSFUL
>>
>> -- Michelle
>
>
>


Re: TestRunner status

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

this looks very good!

I have some minor questions/remarks below ...


> TestRunner is a project to automate running the TCK for all databases, 
> identity types, security settings, schemas, mappings, and test cases 
> with a single maven invocation.  We discussed doing the hard stuff 
> either in maven or with an extended java/JUnit TestRunner.  It seems 
> possible to do it in maven.  Below is a working outline of a maven goal 
> that loops through the various parameters and repeatedly executes a test 
> run, followed by the results generated by this goal.
> 
> _______________
> maven.xml:
> _______________
> 
> <project default="default"
>    xmlns:j="jelly:core"
>    xmlns:ant="jelly:ant"
>    xmlns:maven="jelly:maven"
>    xmlns:u="jelly:util"
>    >
> ...
>    <!-- ================== -->
>    <!-- Running test cases -->
>    <!-- ================== -->
> 
>    <preGoal name="runallcfgs.jdori">
> 
>        <!-- Install schema for each database -->
>        <u:properties file="${basedir}/test/conf/db.list"/>
>        <u:tokenize var="jdo.tck.dblist" delim=" ">
>            ${jdo.tck.dblist}
>        </u:tokenize>

Question: The property jdo.tck.dblist is a string of database names 
separated by space and the tokenize tag converts this string into a 
collection of strings (one string per database) such that you can use 
the forEach tag to iterate it. Am I right?

The forEach tag allows to directly iterate a comma separated String (see
http://jakarta.apache.org/commons/jelly/tags.html#core:forEach). So if 
we define jdo.tck.dblist as comma separated string we do not need the 
tokenize:
jdo.tck.dblist=derby, mysql, oracle

>        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
>            <attainGoal name="databaseStub"/>
>        </j:forEach>
> 
>        <!-- Enhance and build jar file for each identity type -->
>        <u:properties file="${basedir}/test/conf/identity.list"/>
>        <u:tokenize var="jdo.tck.idlist" delim=" ">
>            ${jdo.tck.idlist}
>        </u:tokenize>
>        <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
>            <attainGoal name="enhanceStub"/>
>        </j:forEach>
> 
>    </preGoal>
> 
>    <goal name="runallcfgs.jdori" prereqs="java:compile, testrunner.set, 
> copyprops">
> 
>        <!-- Run tests for all databases, identity types, and 
> configurations -->
>        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
>            <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
>                <u:properties 
> file="${basedir}/test/conf/configurations.list"/>

Is there any reason to load the configurations properties here instead 
of doing this in the preGoal along with the other properties files? I 
think having the <u:properties> tag as part of the inner loop means the 
file is loaded multiple times. Or does the file configurations.list 
refer any properties that are changed in the loops?

Regards Michael

>                <u:tokenize var="jdo.tck.cfglist" delim=" ">
>                    ${jdo.tck.cfglist}
>                </u:tokenize>
>                <j:forEach var="jdo.tck.cfg" items="${jdo.tck.cfglist}">
>                    <!-- get jdo.tck.classes (list of testclasses), 
> jdo.tck.testdata, jdo.tck.mapping -->
>                    <u:properties 
> file="${basedir}/test/conf/${jdo.tck.cfg}"/>
>                    <attainGoal name="runtckStub"/>
>                </j:forEach>
>            </j:forEach>
>        </j:forEach>
> 
>    </goal>
> 
>    <goal name="databaseStub">
>        <echo>Install schema in ${jdo.tck.db}</echo>
>    </goal>
> 
>    <goal name="enhanceStub">
>        <echo>Enhance classes for ${jdo.tck.id}</echo>
>    </goal>
> 
>    <goal name="runtckStub">
>        <echo>Run tck using database ${jdo.tck.db},
>                 identity type ${jdo.tck.id},
>                 configuration ${jdo.tck.cfg}
>        </echo>
>        <echo>Run test classes ${jdo.tck.classes}
>                with test data ${jdo.tck.testdata}
>                and mapping/schema files ${jdo.tck.mapping}
>        </echo>
>    </goal>
> 
> _______________
> Results:
> _______________
> $ maven -o runallcfgs.jdori
> __  __
> |  \/  |__ _Apache__ ___
> | |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
> |_|  |_\__,_|\_/\___|_||_|  v. 1.0.2
> 
> You are working offline so the build will continue, but 
> jpox-SNAPSHOT.jar may be out of date!
> You are working offline so the build will continue, but 
> jdo2-api-SNAPSHOT.jar may be out of date!
> You are working offline so the build will continue, but 
> jpox-enhancer-SNAPSHOT.jar may be out of date!
> build:start:
> 
> java:prepare-filesystem:
> 
> java:compile:
>    [echo] Compiling to c:\svn5\jdo\trunk\tck20/target/classes
> 
> testrunner.set:
> 
> copyprops:
> 
> runallcfgs.jdori:
> databaseStub:
>    [echo] Install schema in derby
> 
> databaseStub:
>    [echo] Install schema in mysql
> 
> databaseStub:
>    [echo] Install schema in oracle
> 
> enhanceStub:
>    [echo] Enhance classes for application
> 
> enhanceStub:
>    [echo] Enhance classes for datastore
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type application,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type application,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type application,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type datastore,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
> le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jd
> o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo
> .tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type datastore,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type datastore,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type application,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
> le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jd
> o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo
> .tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type application,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type application,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type datastore,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type datastore,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type datastore,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type application,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type application,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type application,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type datastore,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type datastore,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type datastore,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> BUILD SUCCESSFUL
> 
> -- 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			

TestRunner status

Posted by Michelle Caisse <Mi...@Sun.COM>.
TestRunner is a project to automate running the TCK for all databases, 
identity types, security settings, schemas, mappings, and test cases 
with a single maven invocation.  We discussed doing the hard stuff 
either in maven or with an extended java/JUnit TestRunner.  It seems 
possible to do it in maven.  Below is a working outline of a maven goal 
that loops through the various parameters and repeatedly executes a test 
run, followed by the results generated by this goal.

_______________
maven.xml:
_______________

<project default="default"
    xmlns:j="jelly:core"
    xmlns:ant="jelly:ant"
    xmlns:maven="jelly:maven"
    xmlns:u="jelly:util"
    >
 ...
    <!-- ================== -->
    <!-- Running test cases -->
    <!-- ================== -->

    <preGoal name="runallcfgs.jdori">

        <!-- Install schema for each database -->
        <u:properties file="${basedir}/test/conf/db.list"/>
        <u:tokenize var="jdo.tck.dblist" delim=" ">
            ${jdo.tck.dblist}
        </u:tokenize>
        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
            <attainGoal name="databaseStub"/>
        </j:forEach>

        <!-- Enhance and build jar file for each identity type -->
        <u:properties file="${basedir}/test/conf/identity.list"/>
        <u:tokenize var="jdo.tck.idlist" delim=" ">
            ${jdo.tck.idlist}
        </u:tokenize>
        <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
            <attainGoal name="enhanceStub"/>
        </j:forEach>

    </preGoal>

    <goal name="runallcfgs.jdori" prereqs="java:compile, testrunner.set, 
copyprops">

        <!-- Run tests for all databases, identity types, and 
configurations -->
        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
            <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
                <u:properties 
file="${basedir}/test/conf/configurations.list"/>
                <u:tokenize var="jdo.tck.cfglist" delim=" ">
                    ${jdo.tck.cfglist}
                </u:tokenize>
                <j:forEach var="jdo.tck.cfg" items="${jdo.tck.cfglist}">
                    <!-- get jdo.tck.classes (list of testclasses), 
jdo.tck.testdata, jdo.tck.mapping -->
                    <u:properties 
file="${basedir}/test/conf/${jdo.tck.cfg}"/>
                    <attainGoal name="runtckStub"/>
                </j:forEach>
            </j:forEach>
        </j:forEach>

    </goal>

    <goal name="databaseStub">
        <echo>Install schema in ${jdo.tck.db}</echo>
    </goal>

    <goal name="enhanceStub">
        <echo>Enhance classes for ${jdo.tck.id}</echo>
    </goal>

    <goal name="runtckStub">
        <echo>Run tck using database ${jdo.tck.db},
                 identity type ${jdo.tck.id},
                 configuration ${jdo.tck.cfg}
        </echo>
        <echo>Run test classes ${jdo.tck.classes}
                with test data ${jdo.tck.testdata}
                and mapping/schema files ${jdo.tck.mapping}
        </echo>
    </goal>

_______________
Results:
_______________
$ maven -o runallcfgs.jdori
 __  __
|  \/  |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
|_|  |_\__,_|\_/\___|_||_|  v. 1.0.2

You are working offline so the build will continue, but 
jpox-SNAPSHOT.jar may be out of date!
You are working offline so the build will continue, but 
jdo2-api-SNAPSHOT.jar may be out of date!
You are working offline so the build will continue, but 
jpox-enhancer-SNAPSHOT.jar may be out of date!
build:start:

java:prepare-filesystem:

java:compile:
    [echo] Compiling to c:\svn5\jdo\trunk\tck20/target/classes

testrunner.set:

copyprops:

runallcfgs.jdori:
databaseStub:
    [echo] Install schema in derby

databaseStub:
    [echo] Install schema in mysql

databaseStub:
    [echo] Install schema in oracle

enhanceStub:
    [echo] Enhance classes for application

enhanceStub:
    [echo] Enhance classes for datastore

runtckStub:
    [echo] Run tck using database derby,
                 identity type application,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database derby,
                 identity type application,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database derby,
                 identity type application,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database derby,
                 identity type datastore,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jd
o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo
.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database derby,
                 identity type datastore,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database derby,
                 identity type datastore,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database mysql,
                 identity type application,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jd
o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo
.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database mysql,
                 identity type application,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database mysql,
                 identity type application,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database mysql,
                 identity type datastore,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database mysql,
                 identity type datastore,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database mysql,
                 identity type datastore,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database oracle,
                 identity type application,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database oracle,
                 identity type application,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database oracle,
                 identity type application,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database oracle,
                 identity type datastore,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database oracle,
                 identity type datastore,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database oracle,
                 identity type datastore,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm

BUILD SUCCESSFUL

-- Michelle

Re: JDO TCK Conference Call Friday, May 20, 9 am PST

Posted by Craig Russell <Cr...@Sun.COM>.
Attendees: Michelle Caisse, Michael Bouschen, Martin Zaun, Craig Russell

Agenda:

1. Test status (Michelle) 4 types of errors that cause most of the 
problems. Cleanup problem JDO-48, others might be JPOX issues. 
Forwarded to jdo-dev alias.

AI: JPOX developers please respond to email.

Michelle fixed a test case bug that now due to cleanup issues causes 
more tests to fail. One step forward, 30 steps back. Oh well.

2. Test cleanup fix (Michael W.) JDO-48 Michael W sent proposal and 
looks perfect according to Michelle. The fix is in Michael's workspace 
but we need a bit more review and update some test cases before 
checking in.

3. What is test/conf/JDOTCKTestCases.list for? (Michael B.) This used 
to be the default list of test cases. But now, allTests.list includes 
all test cases. When we have a new TestRunner implementation, this will 
be removed.

AI: Michelle ask the interested experts whether the GUI part is really 
needed.

4. Detached objects (Matthew) no change.

5. Build dependency on cvs (Geoff)

AI: Michael will post the btree mdr .zip sources on the JDO Wiki in 
case of problems downloading it from Netbeans. And put a note into 
README.txt.

6. Apache accounts for Matthew and Eric (Craig) Bugged Geir again.

AI: Craig will bug him again.

7. XML Schema (Brian T) no change.

8. JDO API release on ibiblio (Brian T) no change.

Other  issues  and status (any and all)

9. How to get automatic notification from JIRA when a new issue is 
filed?

AI: Craig

10. Can test cases rely on JDOHelper for state interrogation of 
non-binary-compatibility classes? Yes, but the  JDOImplHelper class has 
not implemented the functionality yet.

AI: Craig file JIRA bug and fix it.

11. New TestRunner

AI: Michelle will provide an update next week.

Status of AI's from weeks past:

12. Almost done with re-factoring effort, ready to check in. New 
packages core20, enhancer20, runtime20, query20, fostore20. Michael 
will check these into the repository.

13. We need a way to build the JCP distribution.

AI: Craig to define the JCP distributions and see if maven can help.

[April 15] AI Brian Topping will update the wiki to tell how to access 
our releases area.

[April 15] AI Brian Topping will do the maven goal for creating and 
uploading the snapshots. He will create a directory parallel to trunk 
called "releases" and put the snapshots there.

[April 15] AI Matthew will create a directory in the 
tck.api.persistencemanager called detach in which he will have complete 
freedom to implement the assertions in the detach section of the 
specification.

[April 22] AI Craig will resolve what happens if an application 
identity field is changed while the object is detached.

[April 22] AI Craig will resolve the serialization contract for a 
Detachable class so that implementations interoperate.

[May 13] AI Brian Topping will implement pushing SNAPSHOT builds of the 
project to ibiblio.

[May 13] AI Craig ask Geir where the committer badges are for Matthew, 
Erik, and Michael Watsek.

[May 13] AI Brian Topping will arrange for automated nightly builds.

[May 13] AI Martin Zaun will investigate JSR 294 (Java 5) to see impact 
on enhancer.

[May 13] AI Geoff try to get tck20 to run with JDOMax.

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!

GUI test runner needed?

Posted by Michelle Caisse <Mi...@Sun.COM>.
All,

Today the TCK supports both a command line JUnit test runner and a GUI 
test runner.  Does anyone see a need for us to continue to support the GUI?

Thanks,
Michelle

Re: Question on TCK11

Posted by Geoff hendrey <ge...@yahoo.com>.
The test in question used DatastoreIdentity. 

you said: 

"The classes in question have a set of fields that
uniquely form an *application identity*" and I'm just
saying no, they don't form an *application identity*,
because this test doesn't use application identity. It
uses Datastore Identity.

Ho hum, I guess I'm just grumpy because I didn't
expect the Apache TCK to be so different from the Sun
TCK. 

-geoff


--- Craig Russell <Cr...@Sun.COM> wrote:

> Hi Geoff,
> 
> It sounds like you are confusing application
> equality with JDO 
> identity, which are two separate concepts.
> 
> JVM has identity that you test with a == b.
> 
> Applications have equality that you test with
> a.equals(b).
> 
> JDO has identity that you test with 
> a.getObjectId().equals(b.getObjectId()).
> 
> Three different concepts.
> 
> Craig
> 
> On May 21, 2005, at 6:37 PM, Geoff hendrey wrote:
> 
> >
> >> The classes in question have a set of fields that
> >> uniquely form an
> >> application identity, and hashCode and equals use
> >> these fields. I don't
> >> see the issue.
> >
> > DatastoreIdentity is used, so no, they don't form
> an
> > application identity.
> >
> > -geoff
> >
> >
> >
> >
> >
> >
> >
> > 		
> > Discover Yahoo!
> > Find restaurants, movies, travel and more fun for
> the weekend. Check 
> > it out!
> > http://discover.yahoo.com/weekend.html
> >
> >
> 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!
> 



		
Discover Yahoo! 
Use Yahoo! to plan a weekend, have fun online and more. Check it out! 
http://discover.yahoo.com/

Re: Question on TCK11

Posted by Craig Russell <Cr...@Sun.COM>.
Hi Geoff,

It sounds like you are confusing application equality with JDO 
identity, which are two separate concepts.

JVM has identity that you test with a == b.

Applications have equality that you test with a.equals(b).

JDO has identity that you test with 
a.getObjectId().equals(b.getObjectId()).

Three different concepts.

Craig

On May 21, 2005, at 6:37 PM, Geoff hendrey wrote:

>
>> The classes in question have a set of fields that
>> uniquely form an
>> application identity, and hashCode and equals use
>> these fields. I don't
>> see the issue.
>
> DatastoreIdentity is used, so no, they don't form an
> application identity.
>
> -geoff
>
>
>
>
>
>
>
> 		
> Discover Yahoo!
> Find restaurants, movies, travel and more fun for the weekend. Check 
> it out!
> http://discover.yahoo.com/weekend.html
>
>
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: Question on TCK11

Posted by Geoff hendrey <ge...@yahoo.com>.
> The classes in question have a set of fields that
> uniquely form an 
> application identity, and hashCode and equals use
> these fields. I don't 
> see the issue.

DatastoreIdentity is used, so no, they don't form an
application identity. 

-geoff







		
Discover Yahoo! 
Find restaurants, movies, travel and more fun for the weekend. Check it out! 
http://discover.yahoo.com/weekend.html 


Re: Question on TCK11

Posted by Craig Russell <Cr...@Sun.COM>.
Hi Geoff,

On May 21, 2005, at 12:53 PM, Geoff hendrey wrote:

> Department.hashCode method is using a persistent field
> to compute the value of the hashcode, in TCK11. Note
> that in the Sun version of the TCK, which JDOMax
> passes, hashCode is NOT overidden for Department.
>
> I think it is wrong to override hashCode and equals
> for any class using datastore identity.

The decision to override hashCode and equals belongs to the 
application, not to the JDO implementation. These methods implement the 
application's notion of equality, which as is well-described in the JDO 
specification, is different from both identity (the JVM's way of 
distinguishing whether two instances are the same) and JDO identity. 
That's why we have JDO identity.

> This was the
> subject of 35 or so emails on the experts group, and
> this was the position espoused by Craig.
>
> Craig laid down the law:
> "If you don't have a set of fields that uniquely form
> an application identity, then you should not implement
> equals. You *should* delegate to Object.equals"

The classes in question have a set of fields that uniquely form an 
application identity, and hashCode and equals use these fields. I don't 
see the issue.
>
> Please let me know if an implementation is expected to
> handle cases when the user overides equals and
> hashCode for datastore identity?

Yes. The three forms identity, equality, and JDO identity are given 
equal weight in the Java specification, the java.util classes, and the 
JDO specification. Identity belongs to the VM; equality belongs to the 
application; JDO identity belongs to the implementation.

Craig

> Certainly, JDOMax
> does NOT, and is failing a good bit of the Apache
> TCK11 because of it!
>
> -geoff
>
>
> 		
> __________________________________
> Yahoo! Mail Mobile
> Take Yahoo! Mail with you! Check email on your mobile phone.
> http://mobile.yahoo.com/learn/mail
>
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!

Question on TCK11

Posted by Geoff hendrey <ge...@yahoo.com>.
Department.hashCode method is using a persistent field
to compute the value of the hashcode, in TCK11. Note
that in the Sun version of the TCK, which JDOMax
passes, hashCode is NOT overidden for Department. 

I think it is wrong to override hashCode and equals
for any class using datastore identity. This was the
subject of 35 or so emails on the experts group, and
this was the position espoused by Craig.

Craig laid down the law:
"If you don't have a set of fields that uniquely form
an application identity, then you should not implement
equals. You *should* delegate to Object.equals"

Please let me know if an implementation is expected to
handle cases when the user overides equals and
hashCode for datastore identity? Certainly, JDOMax
does NOT, and is failing a good bit of the Apache
TCK11 because of it!

-geoff


		
__________________________________ 
Yahoo! Mail Mobile 
Take Yahoo! Mail with you! Check email on your mobile phone. 
http://mobile.yahoo.com/learn/mail 

ready to commit to JDO

Posted by Martin Zaun <Ma...@Sun.COM>.
Craig, Mathew,

I've updated the sections 4.Tools and 5.Participation on the JDO wiki
   http://wiki.apache.org/jdo/
for information on the setup steps that I was missing.

For feedback from the newcomer perspective: the biggest issue, I think,
is that it's hard to find the JDO WiKi page !

When I started on the setup steps, I hadn't saved the JDO WiKi URL and
could barely find it again:
- searching for 'jdo' from http://wiki.apache.org doesn't find it !
- googling for 'apache jdo' finds it on the second search-result page
   with http://db.apache.org/ojb/ found first
- searching for 'jdo' from http://www.apache.org doesn't find anything
- searching for 'jdo' from http://incubator.apache.org finds some
   geronimo and derby pages but not the wiki jdo

Martin

Re: JDO TCK Conference Call Friday, May 20, 9 am PST

Posted by Geoff hendrey <ge...@yahoo.com>.
Unfortunately I can't join in tomorrow.

--- Michelle Caisse <mi...@Sun.COM> wrote:

> Hi,
> 
> We will have our regular meeting Friday, May 20 at 9
> am PST to discuss 
> JDO TCK issues and status.
> 
> Dial-in numbers are:
> 
> 866 230-6968   294-0479#
> International: +1 865 544-7856
> 
> Agenda:
> 
> Test status (Michelle)
> Test cleanup fix (Michael W.)
> What is test/conf/JDOTCKTestCases.list for? (Michael
> B.)
> Detached objects (Matthew)
> Build dependency on cvs (Geoff)
> Apache accounts for Matthew and Eric (Craig)
> XML Schema (Brian T)
> JDO API release on ibiblio (Brian T)
> Other  issues  and status (any and all)
> 
> -- Michelle
> 



		
Discover Yahoo! 
Get on-the-go sports scores, stock quotes, news and more. Check it out! 
http://discover.yahoo.com/mobile.html