harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hindess <mark.hind...@googlemail.com>
Subject Re: [classlib] [testing] Coverage (was Re: 37% of total test execution time is spent in a single test)
Date Fri, 02 Jun 2006 05:30:57 GMT

On 2 June 2006 at 10:37, Paulex Yang <paulex.yang@gmail.com> wrote:
>
> Mark,
> 
> I'm glad that there is someone else has interest on emma, I've tried it 
> before. AFAIK, emma works by instrumentation, but sometimes for classes 
> in bootclasspath, the instrumentation cannot work, there are two cases:
> 1. Some instrumented classes cannot be loaded by VM.
> 2. Some classes cannot be instrumented
> 
> I have tried to look more inside to find some way to work around but I 
> haven't got enough time yet.
> 
> Specifically for nio-channel module, I had a list for these two cases (I 
> believe the data is a little outdated and should be reevaluated)
> case 1.
> BaseByteBuffer.class
> Buffer.class
> BufferFactory.class
> ByteBuffer.class
> CharArrayBuffer.class
> CharBuffer.class
> HeapByteBuffer.class
> ReadWriteCharArrayBuffer.class
> ReadWriteHeapByteBuffer.class
> FileChannel.class
> AbstractInterruptibleChannel.class
> FileChannelImpl.class
> WriteOnlyFileChannel.class
> LockManager.class
> LockManager$1.class
> ReadOnlyFileChannel.class
> 
> case 2:
> ByteChannel.class
> Channel.class
> GatheringByteChannel.class
> InterruptibleChannel.class
> WritableByteChannel.class
> 
> And I have got some ant script and more excluded list for emma, if 
> anyone has interests, I can upload it to JIRA.

Yes!

-Mark.

> Mark Hindess wrote:
> > Anyone tried using emma (emma.sf.net) to look at test coverage for our
> > tests?  That might help ensure we don't trim them down too much?
> >
> > I suspect we will soon reach a point where there are significantly fewer
> > obvious opportunities for small contributions - e.g. 1.5 generification,
> > etc from looking at JAPI reports.  Having test coverage reports might
> > help by highlighting areas for improvement.
> >
> > I had a quick try with:
> >
> >   ant -f make/build.xml
> >   ant -f modules/nio/make/build.xml test
> >   java -cp emma.jar emma instr -m overwrite -cp deploy/jdk/jre/lib/boot/nio
> .jar
> >
> > and then:
> >
> >   java -Xbootclasspath/p:emma.jar \
> >        -cp build/tests:modules/nio/bin/test:junit.jar:. \
> >        junit.textui.TestRunner \
> >        org.apache.harmony.tests.java.nio.channels.SocketChannelTest
> >
> > (Running all the tests is a little tricky because test depends on build, 
> > which depends on clean which wipes out the instr'd jar. ;-( )
> >
> > Sadly it dies horribly with the stack trace below.  I'll take another
> > look when I have a little more time, but I thought I'd mention it in
> > case anyone else had any thoughts on the subject.
> >
> > Regards,
> >  
> > Mark.
> >
> > Exception in thread "main" java/lang/ExceptionInInitializerError
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:203)
> >         at java/nio/Buffer.$VRi (Buffer.java:4294967295)
> >         at java/nio/Buffer.<clinit> (Buffer.java:4294967295)
> >         at java/lang/J9VMInternals.initializeImpl (Native Method)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:185)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:154)
> >         at java/lang/String.getBytes (String.java:783)
> >         at org/apache/harmony/luni/util/Util.getBytes (Util.java:54)
> >         at java/lang/ClassLoader.loadLibraryWithPath (ClassLoader.java:998)
> >         at java/lang/ClassLoader.loadLibraryWithClassLoader (ClassLoader.ja
> va:970)
> >         at java/lang/System.loadLibrary (System.java:706)
> >         at com/ibm/icu4jni/common/ICU4JNILoader.loadLibrary (Unknown Source
> )
> >         at com/ibm/icu4jni/converters/NativeConverter.<clinit> (Unknown Sou
> rce)
> >         at java/lang/J9VMInternals.initializeImpl (Native Method)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:185)
> >         at com/ibm/icu4jni/charset/CharsetProviderICU.charsetForName (Unkno
> wn Source)
> >         at java/nio/charset/Charset.forNameInternal (Charset.java:450)
> >         at java/nio/charset/Charset.forName (Charset.java:513)
> >         at java/lang/String.defaultCharset (String.java:688)
> >         at java/lang/String.<init> (String.java:252)
> >         at org/apache/harmony/luni/util/Util.toString (Util.java:74)
> >         at java/lang/System.getPropertyList (Native Method)
> >         at java/lang/System.ensureProperties (System.java:496)
> >         at java/lang/System.<clinit> (System.java:55)
> >         at java/lang/J9VMInternals.initializeImpl (Native Method)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:185)
> >         at java/lang/ClassLoader.initializeClassLoaders (ClassLoader.java:6
> 5)
> >         at java/lang/Thread.initialize (Thread.java:301)
> >         at java/lang/Thread.<init> (Thread.java:120)
> > java/lang/NullPointerException
> >         at java/lang/Throwable.printStackTrace (Throwable.java:231)
> >         at com/vladium/emma/rt/RTExitHook.createClassLoaderClosure (RTExitH
> ook.java:63)
> >         at com/vladium/emma/rt/RT.reset (RT.java:92)
> >         at com/vladium/emma/rt/RT.<clinit> (RT.java:238)
> >         at java/lang/J9VMInternals.initializeImpl (Native Method)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:185)
> >         at java/nio/Buffer.$VRi (Buffer.java:4294967295)
> >         at java/nio/Buffer.<clinit> (Buffer.java:4294967295)
> >         at java/lang/J9VMInternals.initializeImpl (Native Method)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:185)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:154)
> >         at java/lang/String.getBytes (String.java:783)
> >         at org/apache/harmony/luni/util/Util.getBytes (Util.java:54)
> >         at java/lang/ClassLoader.loadLibraryWithPath (ClassLoader.java:998)
> >         at java/lang/ClassLoader.loadLibraryWithClassLoader (ClassLoader.ja
> va:970)
> >         at java/lang/System.loadLibrary (System.java:706)
> >         at com/ibm/icu4jni/common/ICU4JNILoader.loadLibrary (Unknown Source
> )
> >         at com/ibm/icu4jni/converters/NativeConverter.<clinit> (Unknown Sou
> rce)
> >         at java/lang/J9VMInternals.initializeImpl (Native Method)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:185)
> >         at com/ibm/icu4jni/charset/CharsetProviderICU.charsetForName (Unkno
> wn Source)
> >         at java/nio/charset/Charset.forNameInternal (Charset.java:450)
> >         at java/nio/charset/Charset.forName (Charset.java:513)
> >         at java/lang/String.defaultCharset (String.java:688)
> >         at java/lang/String.<init> (String.java:252)
> >         at org/apache/harmony/luni/util/Util.toString (Util.java:74)
> >         at java/lang/System.getPropertyList (Native Method)
> >         at java/lang/System.ensureProperties (System.java:496)
> >         at java/lang/System.<clinit> (System.java:55)
> >         at java/lang/J9VMInternals.initializeImpl (Native Method)
> >         at java/lang/J9VMInternals.initialize (J9VMInternals.java:185)
> >         at java/lang/ClassLoader.initializeClassLoaders (ClassLoader.java:6
> 5)
> >         at java/lang/Thread.initialize (Thread.java:301)
> >         at java/lang/Thread.<init> (Thread.java:120)
> > JVMJ9VM015W Initialization error for library jclclear_23(14): JVMJ9VM009E J
> 9VMDllMain failed
> > HMYEXEL062E Internal VM error: Failed to create Java VM
> > FAILED.
> >
> >
> > On 1 June 2006 at 22:26, "Mikhail Loenko" <mloenko@gmail.com> wrote:
> >   
> >> 2006/6/1, Geir Magnusson Jr <geir@pobox.com>:
> >>     
> >>> Mikhail Loenko wrote:
> >>>       
> >>>> 2006/6/1, Geir Magnusson Jr <geir@pobox.com>:
> >>>>         
> >>>>> I don't quite grok what you mean - could you post what you are
> >>>>> suggesting in code here on -dev?
> >>>>>           
> >>>> Index: modules/luni/src/test/java/tests/api/java/net/Inet6AddressTest.ja
> v
> >>>>         
> >> a
> >>     
> >>>> ===================================================================
> >>>> ---
> >>>> modules/luni/src/test/java/tests/api/java/net/Inet6AddressTest.java
> >>>> (revision
> >>>> 410480)
> >>>> +++
> >>>> modules/luni/src/test/java/tests/api/java/net/Inet6AddressTest.java
> >>>> (working
> >>>> copy)
> >>>> @@ -785,7 +785,7 @@
> >>>>                 "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.255",
> >>>>                 "0:0:0:0:0:0:0:0", "0:0:0:0:0:0:0.0.0.0" };
> >>>>
> >>>> -        String invalidIPAddresses[] = { ":", "FFFF:FFFF", "1:1",
> >>>> "::1.2.3.444" };
> >>>> +        String invalidIPAddresses[] = { "FFFF:FFFF" };
> >>>>
> >>>>         for (int i = 0; i < validIPAddresses.length; i++) {
> >>>>
> >>>>
> >>>>         
> >>> Thx - why do you want to remove testing the others?  Because you believe
> >>> that it is in effect testing the resolver in the OS since each returns
> >>> the same answer,and thus it's testing the same thing over and over?
> >>>       
> >> I believe so, but I'd like to hear confirmation from code authors
> >>
> >> Thanks,
> >> Mikhail
> >>     
> >
> >
> >
> > ---------------------------------------------------------------------
> > 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
> >
> >
> >   
> 
> 
> -- 
> Paulex Yang
> China Software Development Lab
> IBM
> 
> 
> 
> ---------------------------------------------------------------------
> 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