src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/GraalTest.java
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/GraalTest.java Thu Nov 15 21:05:47 2018 +0100
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/GraalTest.java Thu Nov 15 09:04:07 2018 -0800
@@ -35,8 +35,8 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.List;
import java.util.concurrent.TimeUnit;
-import java.util.List;
import org.graalvm.compiler.debug.DebugContext;
import org.graalvm.compiler.debug.DebugDumpHandler;
@@ -46,6 +46,7 @@
import org.graalvm.compiler.serviceprovider.GraalServices;
import org.junit.After;
import org.junit.Assert;
+import org.junit.AssumptionViolatedException;
import org.junit.internal.ComparisonCriteria;
import org.junit.internal.ExactComparisonCriteria;
import org.junit.rules.DisableOnDebug;
@@ -239,6 +240,16 @@
assertDeepEquals(message, expected, actual, equalFloatsOrDoublesDelta());
}
+ /** @see <a href="https://bugs.openjdk.java.net/browse/JDK-8076557">JDK-8076557</a> */
+ protected static void assumeManagementLibraryIsLoadable() {
+ try {
+ /* Trigger loading of the management library using the bootstrap class loader. */
+ GraalServices.getCurrentThreadAllocatedBytes();
+ } catch (UnsatisfiedLinkError | NoClassDefFoundError | UnsupportedOperationException e) {
+ throw new AssumptionViolatedException("Management interface is unavailable: " + e);
+ }
+ }
+
/**
* Gets the value used by {@link #assertDeepEquals(Object, Object)} and
* {@link #assertDeepEquals(String, Object, Object)} for the maximum delta between two doubles