harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sian January" <sianjanu...@googlemail.com>
Subject Re: [classlib] [luni] Ignored Exceptions and HARMONY-2939
Date Wed, 10 Jan 2007 11:00:03 GMT
Hi Tony,

When I run this testcase with the RI I do see a SecurityException, but it's
thrown from the call to new SecurityManager() on the last line of the test()
method (and not the call to ucl.findResources("test.txt");).  So unless I'm
doing something wrong it looks like the inconsistency between Harmony and
the RI is not in the findResources method.

Thanks,

Sian


On 09/01/07, Tony Wu <wuyuehao@gmail.com> wrote:
>
> 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
>



-- 
Sian January

IBM Java Technology Centre, UK

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message