[
https://issues.apache.org/jira/browse/DERBY-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577770#action_12577770
]
Vemund Østgaard commented on DERBY-3521:
----------------------------------------
It would be good to get it merged to 10.4, so I can test the RCs on phoneME
advanced.
> Functionality for skipping testsuites on certain platforms fails for the new
> management testsuite on phoneME advanced
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3521
> URL: https://issues.apache.org/jira/browse/DERBY-3521
> Project: Derby
> Issue Type: Test
> Components: Test
> Environment: phoneME advanced platform
> Reporter: Vemund Østgaard
> Assignee: Vemund Østgaard
> Fix For: 10.5.0.0
>
> Attachments: 3521-fix-diff
>
>
> It is not possible to run suites.All on phoneME advanced, junit will just
> exit with an InvocationTargetException when trying to invoke the
> suites.All.suite() method. Unwrapping the exception shows that the underlying
> reason is a NoClassDefFoundError from the invoke() call in
> AllPackages.addSuiteByReflection() when trying to load the new management
> testsuite.
> Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call
> before the invoke() is expected to fail with UnsupportedClassVersionError on
> Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4,
> but on phoneME advanced it does not, possibly a bug in phoneME advanced.
> A fix/workaround in the testinfrastructure may be to catch
> InvocationTargetException from the try block below, unwrap it and see if it
> is an instance of LinkageError and if so skip the testsuite. This would make
> it possible to run the tests on phoneME advanced.
> private static Test addSuiteByReflection(String className) throws Exception
> {
> try {
> Class clz = Class.forName(className);
> Method sm = clz.getMethod("suite", null);
> return (Test) sm.invoke(null, null);
> } catch (LinkageError e) {
> return new TestSuite("SKIPPED: " + className + " - " +
> e.getMessage());
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.