Derby
  1. Derby
  2. DERBY-6097

Management test suite fails when JMX is not supported

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 10.10.1.1
    • Fix Version/s: 10.10.1.1
    • Component/s: Test
    • Labels:
      None

      Description

      If the management test suite is run separately on a platform where JMX is not supported (in this case, a compact profile build of Java 8 EA), the suite() method fails:

      java.lang.NoClassDefFoundError: javax/management/ObjectName
      at java.lang.Class.getDeclaredMethods0(Native Method)
      at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
      at java.lang.Class.getDeclaredMethods(Unknown Source)
      at org.apache.derbyTesting.functionTests.tests.management.MBeanTest.suite(MBeanTest.java:72)
      at org.apache.derbyTesting.functionTests.tests.management.JMXTest.suite(JMXTest.java:51)
      at org.apache.derbyTesting.functionTests.tests.management._Suite.suite(_Suite.java:54)
      Caused by: java.lang.ClassNotFoundException: javax.management.ObjectName
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)

      Instead of failing, it should return an empty test suite if the platform doesn't support JMX.

      This is not a problem when running suites.All, as it contains logic to ignore NoClassDefFoundErrors for certain suites.

      1. d6097-1a-skip.diff
        3 kB
        Knut Anders Hatlen

        Activity

        Hide
        Knut Anders Hatlen added a comment -

        The attached patch makes management._Suite.suite() return an empty test suite if JMX isn't supported.

        Show
        Knut Anders Hatlen added a comment - The attached patch makes management._Suite.suite() return an empty test suite if JMX isn't supported.
        Hide
        Dag H. Wanvik added a comment -

        > This is not a problem when running suites.All, as it contains logic to ignore NoClassDefFoundErrors for certain suites.

        Yes, I had gotten used to seeing this so in the end I forgot to fix it. Thanks! +1

        Show
        Dag H. Wanvik added a comment - > This is not a problem when running suites.All, as it contains logic to ignore NoClassDefFoundErrors for certain suites. Yes, I had gotten used to seeing this so in the end I forgot to fix it. Thanks! +1
        Hide
        Knut Anders Hatlen added a comment -

        Thanks, Dag! Committed revision 1453179.

        Show
        Knut Anders Hatlen added a comment - Thanks, Dag! Committed revision 1453179.

          People

          • Assignee:
            Knut Anders Hatlen
            Reporter:
            Knut Anders Hatlen
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development