I'm really love Emma. In my daily work, I need to use
Emma to count the code coverage of my code.
I have to say Emma is one of the best I've used. I'm
preciate thank you contribute to open source community.
Recently the company\'s projects will be migrated to JDK7.
Due to the new version of the JVM for type-checking is more
rigorous,
so after instrument of the class can not work. The main
question is that LocalVariableTable and StackMapTable is not
correctly adjusted.
I did some work to fix these problem. I took the
Common-Lang project to test it, it seems to work well, but
I'm not sure.
It needs the large-scale test.
Main changelog:
1. add StackMapTable processing(include read , write ,
adjust and create)
2. add LocalVariableTable processing(adjust)
3. add LocalVariableTypeTable processing(if contains
generic reference in class)
4. add there new types of constantpool(for jdk7 new feature)
5. add new instruction invokedynamic
I decided to contribute it. Compares with your
contribution, It is unworthy of being mentioned. It is my
great honor and pleasure If I can join to this project.
I expect from your reply.
thanks,
Pillar.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My company has been using Emma, and we have recently moved our development to JDK7. Can you please provide your patches to get Emma working on JDK7? We have been in touch with Vlad, and he is willing to merge your changes into the project, but we need the patch from you.
Thanks,
Jeffrey
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have not checked my private mailbox for a long time because I'm up to my ears in work. I'm so sorry to have delayed writing back to you.
Today I saw your message from sourceforge. I feel very pleased that finally someone concerned about this matter.
Because the product from my company has finally decided to compile source code from jdk6. So I have not followed up this thing,
also does not have more feedbacks from customers.
Usage:
You need to set a property. instr.jdk7_support=true.
Example:
<emma enabled="${emma.enabled}">
<instr instrpathref="compile.classpath" destdir="${out.instr.dir}" metadatafile="${functiontest.jdk7.offline.report.dir}/metadata.emma" merge="true" />
<property name='instr.jdk7_support' value='true' />
<property name='instr.exclude_synthetic_classes' value='true' />
<property name='instr.exclude_enum_classes' value='true' />
</emma>
Look forward to your suggestion.
Many thanks,
Pillar.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2012.5.31 build:
changelog:
1.fixed a big problem.
When initializes the input frame of the first basic block from the method descriptor, if current method is constructor, should be insert into UninitializedThis_variable_info instead of Object_variable_info.
2. add instr.exclude_enum_classes and instr.exclude_synthetic_classes properties.
You can get the 100% coverage report on enum type and class.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2012-09-18
What is an status of this? I woul dlike to update packages for fedora, but I'mnot able to confirm in which sources is patch applied and in which is not (in base fedora sources is defnietly not, becasue last modification in repository we are packing was in 2005 - https://sourceforge.net/projects/emma/files/ )
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Vlad Roubtsov,
I'm really love Emma. In my daily work, I need to use
Emma to count the code coverage of my code.
I have to say Emma is one of the best I've used. I'm
preciate thank you contribute to open source community.
Recently the company\'s projects will be migrated to JDK7.
Due to the new version of the JVM for type-checking is more
rigorous,
so after instrument of the class can not work. The main
question is that LocalVariableTable and StackMapTable is not
correctly adjusted.
I did some work to fix these problem. I took the
Common-Lang project to test it, it seems to work well, but
I'm not sure.
It needs the large-scale test.
Main changelog:
1. add StackMapTable processing(include read , write ,
adjust and create)
2. add LocalVariableTable processing(adjust)
3. add LocalVariableTypeTable processing(if contains
generic reference in class)
4. add there new types of constantpool(for jdk7 new feature)
5. add new instruction invokedynamic
I decided to contribute it. Compares with your
contribution, It is unworthy of being mentioned. It is my
great honor and pleasure If I can join to this project.
I expect from your reply.
thanks,
Pillar.
Main changelog:
4. add three new types of constantpool(for jdk7 new feature)
6. add a new option instr.jdk7_support
Hello Pillar,
My company has been using Emma, and we have recently moved our development to JDK7. Can you please provide your patches to get Emma working on JDK7? We have been in touch with Vlad, and he is willing to merge your changes into the project, but we need the patch from you.
Thanks,
Jeffrey
Hi Jeffery,
I have not checked my private mailbox for a long time because I'm up to my ears in work. I'm so sorry to have delayed writing back to you.
Today I saw your message from sourceforge. I feel very pleased that finally someone concerned about this matter.
Because the product from my company has finally decided to compile source code from jdk6. So I have not followed up this thing,
also does not have more feedbacks from customers.
Usage:
You need to set a property. instr.jdk7_support=true.
Example:
<emma enabled="${emma.enabled}">
<instr instrpathref="compile.classpath" destdir="${out.instr.dir}" metadatafile="${functiontest.jdk7.offline.report.dir}/metadata.emma" merge="true" />
<property name='instr.jdk7_support' value='true' />
<property name='instr.exclude_synthetic_classes' value='true' />
<property name='instr.exclude_enum_classes' value='true' />
</emma>
Look forward to your suggestion.
Many thanks,
Pillar.
emma.jar
https://docs.google.com/open?id=0B7RW4aPdCy6AZFNFN1IySTcyaG8
emma_ant.jar
https://docs.google.com/open?id=0B7RW4aPdCy6AMkpiYnRCZHZndTg
update:
https://docs.google.com/open?id=0B7RW4aPdCy6AYjVnVjh3QWFVbkE
https://docs.google.com/open?id=0B7RW4aPdCy6AUEdDOFZHTjlyaVk
Thanks for the update! We faced the same issue with JDK7, appreciate!
2012.5.31 build:
changelog:
1.fixed a big problem.
When initializes the input frame of the first basic block from the method descriptor, if current method is constructor, should be insert into UninitializedThis_variable_info instead of Object_variable_info.
2. add instr.exclude_enum_classes and instr.exclude_synthetic_classes properties.
You can get the 100% coverage report on enum type and class.
download address:
https://www.box.com/s/cbfb130b9a502da12f56
Hi Pillar,
Thanks again for your efforts! The latest fix is working very well for us now.
We really appreciate the work you've done to get Emma going again.
Thanks,
Jeffrey
The downloading of the patch is temporarily ceased until the source code is submitted to sourceforge repository.
By the way JaCoCo supports JDK 7 already.
What is an status of this? I woul dlike to update packages for fedora, but I'mnot able to confirm in which sources is patch applied and in which is not (in base fedora sources is defnietly not, becasue last modification in repository we are packing was in 2005 - https://sourceforge.net/projects/emma/files/ )
Also the http://emma.cvs.sourceforge.net/viewvc/emma/emma/ looks very long untouched :(
In case that emma is not goiiong to be updated, do you mind to publish the patches?