Issue Details (XML | Word | Printable)

Key: DERBY-3588
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Ole Solberg
Reporter: Ole Solberg
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Derby

suites.All fails to run on Jvm 1.5 when built with JDK 1.5 (Failed to invoke suite(): .jdbc4._Suite)

Created: 02/Apr/08 01:14 PM   Updated: 29/Jun/09 10:43 PM
Return to search
Component/s: Test
Affects Version/s: 10.4.1.3, 10.5.1.1
Fix Version/s: 10.4.2.0, 10.5.1.1

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works BuildOn1.5_jdbc4._Suite_alt2.diff.txt 2008-04-04 09:37 AM Ole Solberg 0.6 kB
Text File Licensed for inclusion in ASF works suites.All_BuiltW15RunOn1.6.txt 2008-04-04 09:37 AM Ole Solberg 707 kB
Environment:
Building with JDK 1.5 ( 'j15lib=/usr/local/java/jdk1.5/jre/lib'.)

Running tests with
JVM:
Sun Microsystems Inc.
java version "1.5.0_14"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode)

Bug behavior facts: Regression Test Failure
Resolution Date: 17/Apr/08 09:07 AM


 Description  « Hide
I discovered that since svn r633968 - 2008-03-05 19:45:52 CET, .suites.All has failed with
'Failed to invoke suite():java.lang.ClassNotFoundException: org.apache.derbyTesting.functionTests.tests.jdbc4._Suite' in my test runs
where I have built with JDK 1.5, i.e. have 'j15lib=/usr/local/java/jdk1.5/jre/lib' in ~/ant.properties.

I think this is related to svn r633658 which removed the test for 'JDBC.vmSupportsJDBC4()' when doing
'suite.addTest(addSuiteByReflection("org.apache.derbyTesting.functionTests.tests.jdbc4._Suite"));'.

I added the 'if (JDBC.vmSupportsJDBC4()){....}' again and am now runnning .suites.All on one of my 1.5 test platforms.

An alternative might be to catch 'ClassNotFoundException' in 'addSuiteByReflection()'?



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Ole Solberg added a comment - 04/Apr/08 09:37 AM
I have run .suites.All with the patch:
- BuildOn1.5_jdbc4._Suite_alt2: catching ClassNotFoundException.
This makes Derby/.suites.All built on JDK1.5 run OK on Jvm 1.4 and 1.5.

On JVM 1.6 .suites.All reports 'Tests run: 4186, Failures: 221, Errors: 80'.
See attachment 'suites.All_BuiltW15RunOn1.6.txt':
There were 80 errors:
1) testReEncrypt(org.apache.derbyTesting.functionTests.tests.jdbcapi.DboPowersTest)java.sql.SQLException: Connection authentication failure occurred. Reason: Invalid authentication..
.
.
There were 221 failures:
1) DRDAProtocolTest:clientjunit.framework.AssertionFailedError: java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDataSource40
.
.

I suppose we do not intend tests built on 1.5 to be run on 1.6, so this is as expected?
To do that we would have to detect at "addSuite / addTest" time, whether the Suite or Test built
on a "lower" JDK should be run with the current JVM.



Derby/.suites.All built on JDK 1.6 with this patch runs OK on 1.4, 1.5 and 1.6.

Ole Solberg added a comment - 16/Apr/08 06:38 AM
Patch BuildOn1.5_jdbc4._Suite_alt2.diff.txt to be able to run .suites.All built w JDK 1.5 on JVM 1.4 and 1.5.

John H. Embretsen added a comment - 16/Apr/08 12:08 PM
Seems like a sound change to me.

I am running tests with a modified version of the patch 'BuildOn1.5_jdbc4._Suite_alt2.diff.txt', having added the words "Class not found: " to the skip message since the exception message of ClassNotFoundException usually is the class name, not what kind of exception it is. Makes it easier to spot why the suite was skipped when running with certain test runners.

+ } catch (ClassNotFoundException ce) { // Do not add a suite not built.
+ return new TestSuite("SKIPPED: Class not found: " + className +
+ " - " + ce.getMessage());

I intend to commit the patch if my test results are OK. However, I do think the failures Ole saw when running tests built with 1.5 using a 1.6 VM should be investigated further.

John H. Embretsen added a comment - 17/Apr/08 09:07 AM
Modified patch committed to trunk:

r649013 | johnemb | 2008-04-17 11:07:15 +0200 (Thu, 17 Apr 2008)



John H. Embretsen added a comment - 17/Apr/08 10:48 AM
Merged fix from trunk to 10.4 branch:

svn merge -r 649012:649013 https://svn.apache.org/repos/asf/db/derby/code/trunk .

New Revision: 649047


Ole Solberg added a comment - 18/Apr/08 07:08 AM
OK in latest regresssion tests.