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