Browse Source

passing testcase for PR 47593

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@798782 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 16 years ago
parent
commit
670a91ad2a
2 changed files with 24 additions and 0 deletions
  1. +3
    -0
      src/etc/testcases/core/antclassloader.xml
  2. +21
    -0
      src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java

+ 3
- 0
src/etc/testcases/core/antclassloader.xml View File

@@ -72,4 +72,7 @@ public class Foo {}
storepass="apacheant" jar="${tmp.dir}/test.jar"/> storepass="apacheant" jar="${tmp.dir}/test.jar"/>
</target> </target>


<target name="createNonJar">
<touch file="${tmp.dir}/foo.jar"/>
</target>
</project> </project>

+ 21
- 0
src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java View File

@@ -19,6 +19,7 @@
package org.apache.tools.ant; package org.apache.tools.ant;


import java.io.File; import java.io.File;
import java.io.IOException;
import org.apache.tools.ant.types.Path; import org.apache.tools.ant.types.Path;


/** /**
@@ -147,6 +148,26 @@ public class AntClassLoaderTest extends BuildFileTest {
assertNotNull("should be signed", foo.getSigners()); assertNotNull("should be signed", foo.getSigners());
} }


/**
* @see https://issues.apache.org/bugzilla/show_bug.cgi?id=47593
*/
public void testInvalidZipException() throws Exception {
executeTarget("createNonJar");
File jar = new File(getProject().getProperty("tmp.dir")
+ "/foo.jar");

Path myPath = new Path(getProject());
myPath.setLocation(jar);
getProject().setUserProperty("build.sysclasspath","ignore");
loader = getProject().createClassLoader(myPath);
loader.getResource("foo.txt");
String log = getLog();
int startMessage = log.indexOf("Unable to obtain resource from ");
assertTrue(startMessage >= 0);
assertTrue(log.indexOf("foo.jar", startMessage) > 0);

}

private static class GetPackageWrapper extends ClassLoader { private static class GetPackageWrapper extends ClassLoader {
GetPackageWrapper(ClassLoader parent) { GetPackageWrapper(ClassLoader parent) {
super(parent); super(parent);


Loading…
Cancel
Save