[ http://issues.apache.org/jira/browse/DERBY-516?page=all ]
Rick Hillegas updated DERBY-516: -------------------------------- Attachment: bug516.diff This patch introduces a small JUnit test for checking the compatibility of clients and servers running at different rev levels and on different vms. This test initially simply checks that the expected datatypes can be declared, inserted, selected, and coerced and that they appear as the correct JDBC types in DatabaseMetaData and ResultSetMetaData. Please note that when committed, this patch will require developers to download JUnit so that Derby will build correctly and derbyall will run cleanly. The full suite runs correctly on my cygwin platform, testing all combinations of clients, servers, and vms. Derbyall also runs cleanly, including a single configuration of the compatibility test. A brief description of this patch follows: M tools\ant\properties\compilepath.properties M java\testing\README.htm A java\testing\org\apache\derbyTesting\functionTests\tests\compatibility A java\testing\org\apache\derbyTesting\functionTests\tests\compatibility\README.html A java\testing\org\apache\derbyTesting\functionTests\tests\compatibility\testScript.xml A java\testing\org\apache\derbyTesting\functionTests\tests\compatibility\Pinger.java A java\testing\org\apache\derbyTesting\functionTests\tests\compatibility\JDBCDriverTest.java A java\testing\org\apache\derbyTesting\functionTests\tests\compatibility\build.xml A java\testing\org\apache\derbyTesting\functionTests\tests\jdbcapi\CompatibilityTest.java M java\testing\org\apache\derbyTesting\functionTests\harness\Sed.java A java\testing\org\apache\derbyTesting\functionTests\master\CompatibilityTest.out M java\testing\org\apache\derbyTesting\functionTests\suites\jdbcapi.runall A java\testing\org\apache\derbyTesting\functionTests\util\DerbyJUnitTest.java M java\testing\build.xml M BUILDING.txt M build.xml 1) BUILDING.txt has been amended to tell developers that they must download JUnit. 2) java/testing/README.htm has been amended to point at a web page which describes how to run the compatibility tests. It points at java/testing/org/apache/derbyTesting/functionTests/tests/compatibility/README.html. 3) DerbyJUnitTest.java is a superclass for Derby JUnit tests. It is a useful place to put extra assertion machinery not included in the base JUnit classes. 4) JDBCDriverTest.java is the actual JUnit test which checks expected datatypes. 5) testScript.xml is an ant harness for running all combinations of the compatibility test. Hopefully, we can discard this harness when a more robust JUnit harness is checked into Derby. 6) CompatibilityTest.java is a thin wrapper which runs one configuration (embedded) of JDBCDriverTest inside the derbyall suite. 7) Sed.java has been amended to filter out JUnit diagnostics which derbyall interprets as noise. This filtering allows derbyall canons to be empty for JUnit tests. > Need to incorporate client backward/forward compatibility testing into > testing procedures. > ------------------------------------------------------------------------------------------- > > Key: DERBY-516 > URL: http://issues.apache.org/jira/browse/DERBY-516 > Project: Derby > Type: Test > Components: Test > Versions: 10.1.1.0 > Reporter: Kathey Marsden > Assignee: Rick Hillegas > Attachments: bug516.diff > > Need to incorporate client backward/forward compatibility testing into > testing procedures. > New versions of the Derby network server should work with old versions of the > network client. New versions of the Derby network client should work with > old versions of the server. Currently that means that the 10.1 client should > be tested on the trunk. The 10.2 client definitely needs to be tested > with the 10.1 server before release, but it would be good to start testing > snapshots of 10.2 client on the 10.1 branch earlier. > > Note: > Bug fixes may mean that the canons differ for different versions. > The test harness I think is set up to allow different masters for different > versions. It at least has that functionality for the DerbyNet framework > and it could be expanded to cover DerbyNetClient. The way it works is that > the harness checks for a masters in the following order: > functionTests/master/<framework>/ver<version> > functionTests/master/<framework>/ > functionTests/master/ -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira