harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Loenko" <mloe...@gmail.com>
Subject Re: [classlib] millions of rmi tests
Date Wed, 31 May 2006 05:44:55 GMT
2006/5/30, Geir Magnusson Jr <geir@pobox.com>:
>
>
> Mikhail Loenko wrote:
> > I've tried to integrate rmi2 tests to rmi module,  and found some odd
> > things.
> >
> > Let's take a look for example at TestActivationGroupDesc.java
> >
> > it has 5158 test methods, most of which are very similar.
> > For example it has 855 tests that invoke constructor with various
> > parameters
> > and check that new did not return null and no exception was thrown:
>
> Can 'new' actually return null?  My read of the JLS says that it won't.

it should be a bug in VM to return null. So comparing to null is not necessary
in the API tests.

>
>
> >
> > Compare
> >
> > public void
> > testActivationGroupDescStringStringMarshalledObjectPropertiesCommandEnvironment006()
> >
> > {
> >
> >    try{
> >        Properties p= new Properties();
> >        assertNotNull(msgNotNull, new ActivationGroupDesc(null ,  null ,
> >                new MarshalledObject(new Double(23.4))  ,  new
> > Properties() ,
> >                new ActivationGroupDesc.CommandEnvironment("Hola la",
> >                new String[0])));
> >    } catch (Throwable e) {
> >        fail(msgNoException+e);
> >    }
> > }
> >
> > and
> >
> > public void
> > testActivationGroupDescStringStringMarshalledObjectPropertiesCommandEnvironment007()
> >
> > {
> >    try{
> >        Properties p= new Properties();
> >        assertNotNull(msgNotNull, new ActivationGroupDesc(null , null ,
> >                new MarshalledObject(new Double(23.4))  ,  new
> > Properties() ,
> >                new ActivationGroupDesc.CommandEnvironment("", null)));
> >    } catch (Throwable e) {
> >        fail(msgNoException+e);
> >    }
> > }
> >
> >
> > This is how the constructor under test looks like:
> > public ActivationGroupDesc(String className, String codebase,
> >        MarshalledObject data, Properties props,
> >        ActivationGroupDesc.CommandEnvironment env) {
> >
> >    this.className = className;
> >    this.location = codebase;
> >    this.data = data;
> >    this.props = props;
> >    this.env = env;
> > }
> >
> > It seems that instead of those million test cases we need just a few
> > that would verify that getXXX() methods return what was passed into
> > constructor
> > plus possibly some tests that pass 'suspicious' parameters like null.
> >
> > Thoughts?
>
> I don't agree that would be enough - having tests that assualt the CTORs
> w/ combinations of crap to see what happens isn't a bad thing.  Not a
> fun thing to write, but certainly not something I vote on throwing away
> if someone wrote it already.

They were not written, they were generated. And I suspect that if we change
some options to test generator then it can generate as many tests as you have
free space on your hard drive. Do we need them all in the test suite?

My question is given that so far we had ~7500 tests against all the API do
we need 5000+ tests against a single trivial constructor?

> Why do you see a problem?

The problem is test execution time.

> I think that it's misleading to trust only that getters return what's
> passed in...

Sorry, I did not catch

Thanks,
Mikhail


>
> geir
>
>
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message