harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Wu" <wuyue...@gmail.com>
Subject Re: [classlib] [luni] Ignored Exceptions and HARMONY-2939
Date Tue, 09 Jan 2007 17:31:45 GMT
I just scratched a testcase. It does cause a SecurityException on RI
whereas passes on Harmony. I post it below. Hope it could do some
help. bedtime ;-)

public class Harmony2939 extends TestCase {
    public void test() throws IOException {
        URL[] urls = new URL[1];
        File dir = File.createTempFile("hytemp", "");
        dir.delete();
        dir.mkdir();
        File file = new File(dir.getPath() + "/test.txt");
        file.createNewFile();
        urls[0] = new URL("file:///" + dir.getPath()+"/");
        assertTrue(new File("/"+file.getAbsolutePath()).exists());
        URLClassLoader ucl = URLClassLoader.newInstance(urls);
        SecurityManager sm = new MySecurityManager(file.getPath());
        System.setSecurityManager(sm);
        ucl.findResources("test.txt");
        System.setSecurityManager(new SecurityManager());
    }

    class MySecurityManager extends SecurityManager {
        private String dir;
        public MySecurityManager(String dir) {
            super();
            this.dir = dir;
        }
        public void checkPermission(Permission perm) {
            FilePermission p = new FilePermission(dir, "read");
            if(perm.equals(p)){
                throw new SecurityException();
            }
        }
    }
}


On 1/10/07, Sian January <sianjanuary@googlemail.com> wrote:
> Thanks Andrew and Alexey.  I tried writing a test case for the
> SecurityException as Andrew described and the RI does not throw an
> Exception, so it's definitely right that we should catch the
> SecurityException.  I'm still unsure about the IOException, especially as
> the signature of the method states that an IOException is thrown, but if it
> can't be tested then it's probably best to leave it.
>
> Sian
>
>
> On 09/01/07, Alexey Petrenko <alexey.a.petrenko@gmail.com> wrote:
> >
> > Sian,
> >
> > the logic looks OK for me in this method. SecurityException shows that
> > testing url should not be added to reduced list in this case.
> >
> > SY, Alexey
> >
> > 2007/1/8, Sian January <sianjanuary@googlemail.com>:
> > > Hello everyone,
> > >
> > > I have recently been looking at ignored Exceptions in luni (i.e. places
> > > where an Exception is caught but the catch block is empty).  These are
> > > generally a bad idea because if an Exception does occur it is lost - the
> > > user doesn't see it and it's not logged anywhere either, so if it causes
> > a
> > > problem in the program it is very difficult to find the root cause.
> > >
> > > I would like to discuss one of these in particular, in
> > > URLCLassLoader.findResources where an IOException and a
> > > SecurityException are ignored.  Since the signature of the method says
> > that
> > > it throws an IOException (and SecurityException is a subtype of
> > > RuntimeException) I thought the try-catch block could probably be
> > removed
> > > entirely.  However it is an API method and I am finding it difficult to
> > > write a test case for this because I'm not sure how to force either of
> > those
> > > Exceptions.
> > >
> > > Geir suggested it might be an interesting topic for the mailing list so
> > > please post your thoughts.  Also if anyone knows how to write the test
> > case
> > > that would be especially helpful.  Details at
> > > https://issues.apache.org/jira/browse/HARMONY-2939.
> > >
> > > Thanks,
> > >
> > > Sian
> > >
> > > --
> > > Sian January
> > >
> > > IBM Java Technology Centre, UK
> > >
> > >
> >
>
>
>
> --
> Sian January
>
> IBM Java Technology Centre, UK
>
>


-- 
Tony Wu
China Software Development Lab, IBM

Mime
View raw message