1.1 --- a/make/code_coverage.xml Mon Mar 18 21:03:11 2013 +0530 1.2 +++ b/make/code_coverage.xml Tue Mar 19 11:03:24 2013 -0300 1.3 @@ -36,7 +36,12 @@ 1.4 <equals arg1="${jcov}" arg2="dynamic" trim="true"/> 1.5 </condition> 1.6 1.7 + <condition property="cc.generate.template" value="true"> 1.8 + <equals arg1="${cc.dynamic.genereate.template}" arg2="true" trim="true"/> 1.9 + </condition> 1.10 + 1.11 <mkdir dir="${cc.dir}"/> 1.12 + <mkdir dir="${build.dir}/to_be_instrumented"/> 1.13 1.14 <!-- info --> 1.15 <echo message="jcov=${jcov}"/> 1.16 @@ -51,25 +56,66 @@ 1.17 <property name="run.test.cc.jvmargs" value=""/> 1.18 </target> 1.19 1.20 + <target name="prepare-to-be-instrumented" depends="compile" description="Prepares to_be_instrumented dir"> 1.21 + <copy todir="${build.dir}/to_be_instrumented"> 1.22 + <fileset dir="${build.classes.dir}"> 1.23 + <include name="**/*.class"/> 1.24 + <include name="**/*.clazz"/> 1.25 + </fileset> 1.26 + </copy> 1.27 + 1.28 + <move todir="${build.dir}/to_be_instrumented/jdk/nashorn/internal/objects"> 1.29 + <fileset dir="${build.dir}/to_be_instrumented/jdk/nashorn/internal/objects"> 1.30 + <include name="**/*.clazz"/> 1.31 + </fileset> 1.32 + <mapper type="glob" from="*.clazz" to="*.class"/> 1.33 + </move> 1.34 + </target> 1.35 + 1.36 + <target name="generate-cc-template" depends="prepare-to-be-instrumented" description="Generates code coverage template for dynamic CC" if="cc.generate.template"> 1.37 + <property name="cc.instrumented.path" location="${build.dir}/to_be_instrumented"/> 1.38 + <java classname="com.sun.tdk.jcov.TmplGen"> 1.39 + <arg value="-verbose"/> 1.40 + <arg line="-include ${cc.include}"/> 1.41 + <arg line="-type all"/> 1.42 + <arg line="-template ${cc.template}"/> 1.43 + <arg value="${cc.instrumented.path}"/> 1.44 + <classpath> 1.45 + <pathelement location="${jcov.jar}"/> 1.46 + </classpath> 1.47 + </java> 1.48 + 1.49 + <java classname="com.sun.tdk.jcov.RepGen"> 1.50 + <arg value="-verbose"/> 1.51 + <arg line="-output ${cc.dir}/CC_template_report"/> 1.52 + <arg value="${cc.template}"/> 1.53 + <classpath> 1.54 + <pathelement location="${jcov.jar}"/> 1.55 + </classpath> 1.56 + </java> 1.57 + </target> 1.58 + 1.59 <target name="init-cc" depends="init-cc-disabled, init-cc-enabled"> 1.60 <property name="run.test.cc.jvmargs" value=""/> 1.61 </target> 1.62 1.63 <target name="init-cc-cleanup" if="${cc.enabled}"> 1.64 <delete dir="${cc.dir}" failonerror="false" /> 1.65 + <delete dir="${build.dir}/to_be_instrumented" failonerror="false" /> 1.66 </target> 1.67 1.68 <target name="check-merging-files" depends="init"> 1.69 - <resourcecount property="cc.xmls"> 1.70 - <filelist dir="${cc.dir}" files="*.xml" /> 1.71 - </resourcecount> 1.72 + <echo message="checking avalibility of ${cc.template}"/> 1.73 <condition property="nothing-to-merge" value="true"> 1.74 - <equals arg1="${cc.xmls}" arg2="1" trim="true"/> 1.75 + <not> 1.76 + <available file="${cc.template}"/> 1.77 + </not> 1.78 </condition> 1.79 + <echo message="nothing-to-merge = ${nothing-to-merge}"/> 1.80 </target> 1.81 1.82 <target name="fix-merging-files" depends="check-merging-files" if="${nothing-to-merge}"> 1.83 - <echo message="making pre-merge workaround"/> 1.84 + <echo message="making pre-merge workaround due to missed template"/> 1.85 <move todir="${cc.dir}" includeemptydirs="false"> 1.86 <fileset dir="${cc.dir}"> 1.87 <include name="*.xml"/> 1.88 @@ -81,12 +127,12 @@ 1.89 <target name="merge-code-coverage" depends="fix-merging-files" unless="${nothing-to-merge}"> 1.90 <echo message="merging files"/> 1.91 <fileset dir="${cc.dir}" id="cc.xmls"> 1.92 - <include name="**/*${jcov}*.xml"/> 1.93 + <include name="**/*_${jcov}_*.xml"/> 1.94 <include name="**/CC_template.xml"/> 1.95 </fileset> 1.96 1.97 <pathconvert pathsep=" " property="cc.all.xmls" refid="cc.xmls"/> 1.98 - 1.99 + <echo message="merging files - ${cc.all.xmls}" /> 1.100 <java classname="com.sun.tdk.jcov.Merger"> 1.101 <arg value="-verbose"/> 1.102 <arg value="-output"/>