make/code_coverage.xml

changeset 143
606a1946e3e2
parent 111
230a711062c1
child 262
80d4db063d5a
     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"/>

mercurial