# HG changeset patch # User Jaroslav Tulach # Date 1382532991 -7200 # Node ID d28e1c58f508cd89863a47fde710fedf07c596e7 # Parent 350f8aee0f602f4f4ef8eeaf12c3056002e33137 Preventing StackOverflowError when asking for non-existing system resource diff -r 350f8aee0f60 -r d28e1c58f508 rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ClassLoaderTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ClassLoaderTest.java Wed Oct 23 14:56:31 2013 +0200 @@ -0,0 +1,36 @@ +/** + * Back 2 Browser Bytecode Translator + * Copyright (C) 2012 Jaroslav Tulach + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. Look for COPYING file in the top folder. + * If not, see http://opensource.org/licenses/GPL-2.0. + */ +package org.apidesign.bck2brwsr.tck; + +import org.apidesign.bck2brwsr.vmtest.Compare; +import org.apidesign.bck2brwsr.vmtest.VMTest; +import org.testng.annotations.Factory; + +/** + * + * @author Jaroslav Tulach + */ +public class ClassLoaderTest { + @Compare public Object unknownResource() { + return ClassLoader.getSystemResource("really/unknown/resource.txt"); + } + + @Factory public static Object[] create() { + return VMTest.create(ClassLoaderTest.class); + } +} diff -r 350f8aee0f60 -r d28e1c58f508 rt/emul/mini/src/main/java/java/lang/ClassLoader.java --- a/rt/emul/mini/src/main/java/java/lang/ClassLoader.java Wed Oct 23 14:56:02 2013 +0200 +++ b/rt/emul/mini/src/main/java/java/lang/ClassLoader.java Wed Oct 23 14:56:31 2013 +0200 @@ -850,12 +850,12 @@ SYSTEM = new ClassLoader() { @Override protected Enumeration findResources(String name) throws IOException { - return getSystemResources(name); + return getBootstrapResources(name); } @Override protected URL findResource(String name) { - return getSystemResource(name); + return getBootstrapResource(name); } @Override