commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: svn commit: r750313 - /commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/AbstractTestCase.java
Date Fri, 06 Mar 2009 00:33:43 GMT
On 05/03/2009, bodewig@apache.org <bodewig@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-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message