TestRunner status

2005-05-26 Thread Michelle Caisse
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:
___


...
   
   
   

   

   
   
   
   ${jdo.tck.dblist}
   
   
   
   

   
   
   
   ${jdo.tck.idlist}
   
   
   
   

   

   


   

   
   
   file="${basedir}/test/conf/configurations.list"/>

   
   ${jdo.tck.cfglist}
   
   
   
   file="${basedir}/test/conf/${jdo.tck.cfg}"/>

   
   
   
   

   

   
   Install schema in ${jdo.tck.db}
   

   
   Enhance classes for ${jdo.tck.id}
   

   
   Run tck using database ${jdo.tck.db},
identity type ${jdo.tck.id},
configuration ${jdo.tck.cfg}
   
   Run test classes ${jdo.tck.classes}
   with test data ${jdo.tck.testdata}
   and mapping/schema files ${jdo.tck.mapping}
   
   

___
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

 

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

2005-05-26 Thread Craig Russell

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:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!


smime.p7s
Description: S/MIME cryptographic signature


JDO TCK Conference Call Friday, May 27, 9 am PST

2005-05-26 Thread Michelle Caisse

Hi,

We will have our regular meeting Friday, May 27  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 runner issues (Michelle)
Test cleanup fix (Michael W)
Next issues (Michael W)
Detached objects (Matthew)
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: tck test status

2005-05-26 Thread Craig Russell

Hi Andy,

On May 26, 2005, at 8:35 AM, Andy Jefferson wrote:

What is this relationship causing the issue ? I'm guessing a Map in 
Person of
. It is a perfectly valid thing for an impl to want to 
put a
PK on any table.  It is also a valid thing for an impl to add 
additional
columns where required to allow duplicates etc. Depends on the exact 
nature

of this relation in question. This page
http://www.jpox.org/docs/1_1/relationships_1_N_map.html
shows what JPOX currently does for Maps. If you can identify which one 
you
have, then maybe Erik or I can remember why there is an ADPT_PK_IDX 
column

being added in this particular situation.


PS. Next nightly build (20050527) will *not* need the use of  on 
both
ends of a M-N, so you can have a "mapped-by" on one end and  on 
the

other end of the M-N as you had before.


Thanks for this. It's great that you guys are so responsive to the TCK 
team's requests.


Craig


--
Andy
JPOX - Java Persistent Objects


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


smime.p7s
Description: S/MIME cryptographic signature


Re: tck test status

2005-05-26 Thread Michelle Caisse

Andy,

Yes, this is a different issue.  Using the  fixed the previous 
problem I was running into.


In the TCK, we are starting with pre-defined schemas and mappings from 
the classes to the schemas.  There are other valid schema/mapping sets, 
but we can't just let the vendors autogenerate schema to pass because


(1) We can't test all the mapping metadata if we do that.
(2) Not all implementations will have automatic schema generation.

Apparently there is a gap in the spec around specifying the PK for a 
join table, so this is a tricky case.  We have to find some solution to 
that.


-- Michelle

Andy Jefferson wrote:


I've done that, but then JPOX seems to want a primary key in the join
table and supplies it, though there is none in the schema or metadata.

   [java] [FATAL] tck - Exception during setUp or runtest:
javax.jdo.JDODataStoreException: Put
request failed : INSERT INTO EMPLOYEE_PHONENO_TYPE
(PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)
   [java]  at
org.jpox.store.rdbms.scostore.NormalMapStore.put(NormalMapStore.java:462)
   



Michelle,

This is a different issue to the one before. You previously had a M-N between 
Employee and Project - and so adding the  to the other end should have 
fixed that, presumably it did.


What is this relationship causing the issue ? I'm guessing a Map in Person of 
. It is a perfectly valid thing for an impl to want to put a 
PK on any table.  It is also a valid thing for an impl to add additional 
columns where required to allow duplicates etc. Depends on the exact nature 
of this relation in question. This page

http://www.jpox.org/docs/1_1/relationships_1_N_map.html
shows what JPOX currently does for Maps. If you can identify which one you 
have, then maybe Erik or I can remember why there is an ADPT_PK_IDX column 
being added in this particular situation.



PS. Next nightly build (20050527) will *not* need the use of  on both 
ends of a M-N, so you can have a "mapped-by" on one end and  on the 
other end of the M-N as you had before.


 





Re: tck test status

2005-05-26 Thread Michelle Caisse

Andy,

I see that you and Craig had a discussion about the join table pk  issue 
on the jpox forum http://www.jpox.org/servlet/forum/viewthread?thread=1975


-- Michelle

Michelle Caisse wrote:


Hi, Andy,

Andy Jefferson wrote:


Do you have an idea of when you might support this?  The new metadata
tests I'm working on use the company model and this mapping, so I'm
wondering if I should bother to temporarily remap them for debugging.





 


sometime in the next month hopefully. Maybe sooner ...
  



Cool.



You can just use the workaround of specifying  at BOTH ends of 
the relationship for now. The real problem is that currently JPOX 
isn't supporting the specification of  on just one end of a M-N 
- it needs it on both
 

I've done that, but then JPOX seems to want a primary key in the join 
table and supplies it, though there is none in the schema or metadata.


   [java] [FATAL] tck - Exception during setUp or runtest:  
EMPLOYEE_PHONENO_TYPE (PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)

   [java] NestedThrowables:
   [java] SQL Exception: 'ADPT_PK_IDX' is not a column in table or VTI 
'TCKUSER.EMPLOYEE_PHONENO_TYPE'.>javax.jdo.JDODataStoreException: Put 
request failed : INSERT INTO EMPLOYEE_PHONENO_TYPE 
(PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)
   [java]  at 
org.jpox.store.rdbms.scostore.NormalMapStore.put(NormalMapStore.java:462)


-- Michelle







Re: tck test status

2005-05-26 Thread Andy Jefferson
> I've done that, but then JPOX seems to want a primary key in the join
> table and supplies it, though there is none in the schema or metadata.
>
> [java] [FATAL] tck - Exception during setUp or runtest:
>  EMPLOYEE_PHONENO_TYPE (PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)
> [java] NestedThrowables:
> [java] SQL Exception: 'ADPT_PK_IDX' is not a column in table or VTI
> 'TCKUSER.EMPLOYEE_PHONENO_TYPE'.>javax.jdo.JDODataStoreException: Put
> request failed : INSERT INTO EMPLOYEE_PHONENO_TYPE
> (PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)
> [java]  at
> org.jpox.store.rdbms.scostore.NormalMapStore.put(NormalMapStore.java:462)

Michelle,

This is a different issue to the one before. You previously had a M-N between 
Employee and Project - and so adding the  to the other end should have 
fixed that, presumably it did.

What is this relationship causing the issue ? I'm guessing a Map in Person of 
. It is a perfectly valid thing for an impl to want to put a 
PK on any table.  It is also a valid thing for an impl to add additional 
columns where required to allow duplicates etc. Depends on the exact nature 
of this relation in question. This page
http://www.jpox.org/docs/1_1/relationships_1_N_map.html
shows what JPOX currently does for Maps. If you can identify which one you 
have, then maybe Erik or I can remember why there is an ADPT_PK_IDX column 
being added in this particular situation.


PS. Next nightly build (20050527) will *not* need the use of  on both 
ends of a M-N, so you can have a "mapped-by" on one end and  on the 
other end of the M-N as you had before.

-- 
Andy
JPOX - Java Persistent Objects


Re: Patch for JDO-48

2005-05-26 Thread Michelle Caisse

Hi Michael,

This is great!  I will add it.

To be able to edit Wiki pages you just have to register and log in.  
There's something at the top right of  the page that you click, maybe 
"User Preferences" or something next to that link.  After you log in, 
the page will have an Edit link instead of  "Immutable".


-- Michelle

Michael Watzek wrote:


Hi Michelle,

what do I have to do to edit that page. I can see the subsection 
"Cleanup" but it seems I do not have permission to change it.





Re: tck test status

2005-05-26 Thread Michelle Caisse

Hi, Andy,

Andy Jefferson wrote:


Do you have an idea of when you might support this?  The new metadata
tests I'm working on use the company model and this mapping, so I'm
wondering if I should bother to temporarily remap them for debugging.
 



 


sometime in the next month hopefully. Maybe sooner ...
   


Cool.



You can just use the workaround of specifying  at BOTH ends of the 
relationship for now. The real problem is that currently JPOX isn't 
supporting the specification of  on just one end of a M-N - it needs it 
on both
 

I've done that, but then JPOX seems to want a primary key in the join 
table and supplies it, though there is none in the schema or metadata.


   [java] [FATAL] tck - Exception during setUp or runtest:  
EMPLOYEE_PHONENO_TYPE (PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)

   [java] NestedThrowables:
   [java] SQL Exception: 'ADPT_PK_IDX' is not a column in table or VTI 
'TCKUSER.EMPLOYEE_PHONENO_TYPE'.>javax.jdo.JDODataStoreException: Put 
request failed : INSERT INTO EMPLOYEE_PHONENO_TYPE 
(PHONENO,EMPID,ADPT_PK_IDX,"TYPE") VALUES (?,?,?,?)
   [java]  at 
org.jpox.store.rdbms.scostore.NormalMapStore.put(NormalMapStore.java:462)


-- Michelle




Re: Patch for JDO-48

2005-05-26 Thread Michael Watzek

Hi Michelle,

what do I have to do to edit that page. I can see the subsection 
"Cleanup" but it seems I do not have permission to change it.


Below you find a proposal for "Cleanup" description:

The TCK uses the JUnit testing framework. JUnit encourages test classes 
to separate the real task to be tested from testing environment setup, 
relatively testing environment cleanup. TCK classes follow this 
implementation strategy.


For this reason, all TCK test classes extend abstract class 
"org.apache.jdo.tck.JDO_Test". This class provides two hooks that 
subclasses may override for test environment setup and test environment 
cleanup:


protected void localSetUp()
protected void localTearDown()

TCK classes usually set up persistent data in method "localSetUp" and 
they cleanup that that data in method "localTearDown". The real testing 
tasks are implemented in methods having the prefix "test".


Class JDO_Test implements a default strategy for "localTearDown": All 
persistent data that has been added for tear down is cleaned up 
automatically. Thus, TCK classes usually do not override "localTearDown".


JDO_Test defines three methods adding persistent data for tear down:

protected void addTearDownObjectId(Object oid)
protected void addTearDownInstance(Object pc)
protected void addTearDownClass(Class pcClass)

The first two methods may be used to add single persistent instances for 
tear down. Method "addTearDownInstance" is convenience delegating to 
addTearDownObjectId. The last method may be used to add persistent 
classes for tear down. In the latter case, the extents of all added 
classes are deleted.


*Note*: The order of adding tear down instances and classes is 
significant. The default implementation of "localTearDown" first deletes 
 all added instances in exactly that order they have been added. 
Afterwards it deletes the extents of all classes in exactly that order 
they have been added.


Regards,
Michael



Hi, Michael,

When you get a chance, could you please add information on how to code 
cleanup in a test to the TechnologyCompatibilityKit Wiki page 
http://wiki.apache.org/jdo/TechnologyCompatibilityKit?  I added a 
section called "Test Development Guidlines" and a subsection called 
"Cleanup".


Thanks,
Michelle

Michael Watzek wrote:


Hi,

attached you find the patch for JDO-48.


...



--
---
Michael Watzek  [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED]Buelowstr. 66
Tel.:  ++49/30/235 520 36   10783 Berlin - Germany
Fax.:  ++49/30/217 520 12   http://www.spree.de/
---


Re: tck test status

2005-05-26 Thread Andy Jefferson
> > Do you have an idea of when you might support this?  The new metadata
> > tests I'm working on use the company model and this mapping, so I'm
> > wondering if I should bother to temporarily remap them for debugging.

> sometime in the next month hopefully. Maybe sooner ...

You can just use the workaround of specifying  at BOTH ends of the 
relationship for now. The real problem is that currently JPOX isn't 
supporting the specification of  on just one end of a M-N - it needs it 
on both


-- 
Andy
JPOX - Java Persistent Objects


Re: tck test status

2005-05-26 Thread Andy Jefferson
> >OK. You'll just have to put it down to "not currently supported by JPOX"
> > with that MetaData definition. We support M-N just in a different way.
>
> Do you have an idea of when you might support this?  The new metadata
> tests I'm working on use the company model and this mapping, so I'm
> wondering if I should bother to temporarily remap them for debugging.

Hi Michelle,

sometime in the next month hopefully. Maybe sooner ...


-- 
Andy
JPOX - Java Persistent Objects