Index: modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassLoaderTest.java =================================================================== --- modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassLoaderTest.java (revision 509144) +++ modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassLoaderTest.java (working copy) @@ -230,7 +230,22 @@ ClassTest.FILENAME); assertNotNull(in); in.close(); - } + } + /** + * Regression test for Harmony-1172 + */ + public void test_defineClass_with_wrong_classname() { + MyClassLoader cl = new MyClassLoader(); + try { + cl.testdefineClass("/k", new byte[]{}, 126, 0); + } catch (NoClassDefFoundError e) { + return; + } catch (Throwable e) { + fail("Wrong Throwable: " + e); + return; + } + fail("No exception"); + } } class DynamicPolicy extends Policy { @@ -267,3 +282,9 @@ return defineClass(buf, 0, len); } } + +class MyClassLoader extends ClassLoader { + public Class testdefineClass(String name, byte[] array, int off, int len) { + return super.defineClass(name, array, off, len); + } +}