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.