< prev index next >
test/javax/management/loading/ArrayClassTest.java
Print this page
rev 11832 : 8078896: Add @modules as needed to the jdk_svc tests
Reviewed-by: alanb, mchung
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -25,34 +25,37 @@
* @test
* @bug 4974913
* @summary Test that array classes can be found in signatures always
* and can be deserialized by the deprecated MBeanServer.deserialize method
* @author Eamonn McManus
+ * @modules java.management
* @run clean ArrayClassTest
* @run build ArrayClassTest
* @run main ArrayClassTest
*/
import java.io.*;
import java.lang.reflect.*;
import java.net.*;
+import java.nio.file.Paths;
import javax.management.*;
import javax.management.loading.*;
public class ArrayClassTest {
public static void main(String[] args) throws Exception {
MBeanServer mbs = MBeanServerFactory.createMBeanServer();
- /* If this test isn't loaded by a URLClassLoader we will get
- a ClassCastException here, which is good because it means
- this test isn't valid. */
- URLClassLoader testLoader =
- (URLClassLoader) ArrayClassTest.class.getClassLoader();
+ String[] cpaths = System.getProperty("test.classes", ".")
+ .split(File.pathSeparator);
+ URL[] urls = new URL[cpaths.length];
+ for (int i=0; i < cpaths.length; i++) {
+ urls[i] = Paths.get(cpaths[i]).toUri().toURL();
+ }
// Create an MLet that can load the same class names but
// will produce different results.
- ClassLoader loader = new SpyLoader(testLoader.getURLs());
+ ClassLoader loader = new SpyLoader(urls);
ObjectName loaderName = new ObjectName("test:type=SpyLoader");
mbs.registerMBean(loader, loaderName);
ObjectName testName = new ObjectName("test:type=Test");
mbs.createMBean(Test.class.getName(), testName, loaderName,
< prev index next >