|
This simple patch gives the following results with an otherwise clean build & latest JPOX download:
[java] Total tests run: 1239. Failures: 1, Errors: 2. [java] 3 of 57 configurations failed. I didn't modify the orm files as Michael suggested because we do explain the schema override in the .conf files. If anyone else feels that we should also add comments to the orm files or improve the description in the .conf files, I would be happy to make that change. Currently we say: jdo.tck.description = MakePersistent test with schema name specified as class attribute in orm for PCPoint. Schema name derived from jdo.tck.mapping 1 is overriden in orm [jdo.tck.mapping 1 is wrong. It should say jdo.tck.mapping 7 (or 6, or 5)] Two comments:
1. The patch looks good. I think this should solve the issue. Ok with me to check it in. 2. I think the description in the .conf files is too cryptic. I read it a few times and was still confused as to exactly what it was doing. It might help if you had a bit more text in the description. MakePersistent test with schema name specified as class attribute in orm for PCPoint. The schema name derived from jdo.tck.mapping 7, e.g. applicationidentity7, is overriden in the file org/apache/jdo/tck/pc/PCPoint.orm to specify schema e.g. applicationidentity_cls. MakePersistent test with schema name specified as package attribute in orm for PCPoint. The schema name derived from jdo.tck.mapping 7, e.g. applicationidentity6, is overriden in the file applicationidentity/org/apache/jdo/tck/pc/package-standard6.orm to specify schema e.g. applicationidentity_pkg. I probably got this wrong, but you get the idea. Fixed with revision 389639
I noticed that there is a little mismatch between test case MakePersistent, the .sql files, and the .orm files for mappings 5, 6, 7 wrt. which persistence capable classes are needed:
- Test case MakePersistent uses pc class PCPoint only. - The .sql files create tables PCPoint and PCRect. - The .orm files specifiy metadata for pc classes PCPoint, PCPoint2, PCRect, and PrimitiveTypes. This holds true for application identity and datastore identity as well. Does it make sense to erase PCRect in the .sql files and to erase PCPoint2, PCRect, and PrimitiveTypes in the .orm files? When the tests were written, I think we didn't know exactly what we were going to test, and made extra classes persistent in order to have some flexibility.
Now that the tests are complete, it's not clear to me that we will ever extend the test cases so we don't need to keep the extra classes in the sql and orm. So it's ok with me to remove the extras. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
configurations "schemaAttributeOrm.conf" (Mapping 5), "schemaAttributePackage.conf" (Mapping 6), and "schemaAttributeClass.conf" (Mapping 7) run test MakePersistent which inherits from PersistenceManagerTest.
Class PersistentManagerTest implements localSetUp adding tear down classes PCRect, PCPoint, Department, and Company. But Department and Company are not contained in Mappings 5, 6, and 7. I propose to redefine localSetUp in MakePersistent accordingly.
Perhaps it makes sense to add a comment to ORM metadata of mappings 5, 6, and 7. All of these mappings overwrite the default schema name passed as PMF property. Those mappings assign a schema name which does not comply to our schema name convention <identitytype><mapping>. A comment would just be helpful to understand that this is done on purpose.