On 05/03/2009, bode...@apache.org <bode...@apache.org> wrote: > Author: bodewig > Date: Thu Mar 5 04:49:10 2009 > New Revision: 750313 > > URL: http://svn.apache.org/viewvc?rev=750313&view=rev > Log: > make tests pass on Linux >
However, they now fail on Windows (and compilation fails on Java 1.4/1.5, but I fixed that). Adding back the .getClassLoader() stage improves matters, but then the ChangeSetTestCase tests fail with java.io.IOException: Illegal character in path which is caused by the space character. I'm not sure that getResource() is the correct method to use here. > Modified: > > commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/AbstractTestCase.java > > Modified: > commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/AbstractTestCase.java > URL: > http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/AbstractTestCase.java?rev=750313&r1=750312&r2=750313&view=diff > > ============================================================================== > --- > commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/AbstractTestCase.java > (original) > +++ > commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/AbstractTestCase.java > Thu Mar 5 04:49:10 2009 > @@ -23,8 +23,10 @@ > import java.io.FileInputStream; > import java.io.FileOutputStream; > import java.io.InputStream; > +import java.io.IOException; > import java.io.OutputStream; > import java.lang.reflect.Method; > +import java.net.URI; > import java.net.URL; > import java.net.URLClassLoader; > import java.util.Iterator; > @@ -51,8 +53,17 @@ > addURL(new File("src/test/resources").toURL()); > } > > - protected File getFile(String path) { > - return new > File(getClass().getClassLoader().getResource(path).getFile()); > + protected File getFile(String path) throws IOException { > + URL url = getClass().getResource(path); > + if (url == null) { > + throw new java.io.FileNotFoundException(path + " doesn't > exist"); > + } > + try { > + return new File(new URI(url.toString())); > + } catch (java.net.URISyntaxException ex) { > + // impossible since URL.toString() should always yield a valid > URI > + throw new IOException(ex.getMessage(), ex); > + } > } > > protected void tearDown() throws Exception { > @@ -71,11 +82,11 @@ > */ > public void addURL(URL url) throws Exception { > URLClassLoader classLoader = (URLClassLoader) ClassLoader > - .getSystemClassLoader(); > + .getSystemClassLoader(); > Class clazz = URLClassLoader.class; > > Method method = clazz.getDeclaredMethod("addURL", > - new Class[] { URL.class }); > + new Class[] { URL.class }); > method.setAccessible(true); > method.invoke(classLoader, new Object[] { url }); > } > @@ -109,7 +120,7 @@ > > final OutputStream stream = new FileOutputStream(temp); > out = new ArchiveStreamFactory().createArchiveOutputStream( > - archivename, stream); > + > archivename, stream); > > final File file1 = getFile("test1.xml"); > final File file2 = getFile("test2.xml"); > @@ -189,16 +200,16 @@ > * @throws Exception > */ > protected void checkArchiveContent(File archive, List expected) > - throws Exception { > + throws Exception { > final InputStream is = new FileInputStream(archive); > final BufferedInputStream buf = new BufferedInputStream(is); > final ArchiveInputStream in = new ArchiveStreamFactory() > - .createArchiveInputStream(buf); > + .createArchiveInputStream(buf); > this.checkArchiveContent(in, expected); > } > > protected void checkArchiveContent(ArchiveInputStream in, List expected) > - throws Exception { > + throws Exception { > File result = File.createTempFile("dir-result", ""); > result.delete(); > result.mkdir(); > @@ -206,7 +217,7 @@ > ArchiveEntry entry = null; > while ((entry = in.getNextEntry()) != null) { > File outfile = new File(result.getCanonicalPath() + "/result/" > - + entry.getName()); > + + entry.getName()); > outfile.getParentFile().mkdirs(); > OutputStream out = new FileOutputStream(outfile); > IOUtils.copy(in, out); > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org