Mercurial > hg > truffle
diff truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/profiles/LazyProfileLoadingTest.java @ 22530:4ba1aa33fda4
Run all tests with SeparateClassLoaderRunner to ensure package private methods are accessible even if the truffle.jar is on bootclasspath.
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Wed, 06 Jan 2016 13:52:35 +0100 |
parents | a63bda98cfdb |
children |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/profiles/LazyProfileLoadingTest.java Wed Jan 06 10:59:58 2016 +0100 +++ b/truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/profiles/LazyProfileLoadingTest.java Wed Jan 06 13:52:35 2016 +0100 @@ -24,16 +24,12 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.net.URLClassLoader; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; -import org.junit.runners.BlockJUnit4ClassRunner; -import org.junit.runners.model.InitializationError; import com.oracle.truffle.api.Truffle; -import com.oracle.truffle.api.profiles.LazyProfileLoadingTest.SeparateClassloaderTestRunner; @RunWith(SeparateClassloaderTestRunner.class) public class LazyProfileLoadingTest { @@ -105,34 +101,4 @@ } } - public static class SeparateClassloaderTestRunner extends BlockJUnit4ClassRunner { - - public SeparateClassloaderTestRunner(Class<?> clazz) throws InitializationError { - super(getFromTestClassloader(clazz)); - } - - private static Class<?> getFromTestClassloader(Class<?> clazz) throws InitializationError { - try { - ClassLoader testClassLoader = new TestClassLoader(); - return Class.forName(clazz.getName(), true, testClassLoader); - } catch (ClassNotFoundException e) { - throw new InitializationError(e); - } - } - - public static class TestClassLoader extends URLClassLoader { - public TestClassLoader() { - super(((URLClassLoader) getSystemClassLoader()).getURLs()); - } - - @Override - public Class<?> loadClass(String name) throws ClassNotFoundException { - if (name.startsWith(Profile.class.getPackage().getName())) { - return super.findClass(name); - } - return super.loadClass(name); - } - } - } - }