Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-3521

Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.4.1.3, 10.5.1.1
    • Component/s: Test
    • Labels:
      None
    • Environment:
      phoneME advanced platform

      Description

      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()); }

      }

        Attachments

        1. 3521-fix-diff
          1 kB
          Vemund Østgaard

          Activity

            People

            • Assignee:
              vemund Vemund Østgaard
              Reporter:
              vemund Vemund Østgaard
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: