make/code_coverage.xml

Fri, 05 Jun 2015 12:38:53 +0200

author
mhaupt
date
Fri, 05 Jun 2015 12:38:53 +0200
changeset 1398
2f1b9f4daec1
parent 468
dc54df348a58
child 952
6d5471a497fb
permissions
-rw-r--r--

8080087: Nashorn $ENV.PWD is originally undefined
Summary: On Windows, the PWD environment variable does not exist and cannot be imported in scripting mode, so it is set explicitly.
Reviewed-by: lagergren, sundar

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!--
     3  Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
     4  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     6  This code is free software; you can redistribute it and/or modify it
     7  under the terms of the GNU General Public License version 2 only, as
     8  published by the Free Software Foundation.
    10  This code is distributed in the hope that it will be useful, but WITHOUT
    11  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    12  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    13  version 2 for more details (a copy is included in the LICENSE file that
    14  accompanied this code).
    16  You should have received a copy of the GNU General Public License version
    17  2 along with this work; if not, write to the Free Software Foundation,
    18  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    21  or visit www.oracle.com if you need additional information or have any
    22  questions.
    23 -->
    24 <project name="code-coverage" default="generate-code-coverage-report" basedir="..">
    26   <!-- CODE COVERAGE -->
    27   <target name="init-cc-enabled" if="${cc.enabled}">
    29     <echo message="initialize [${jcov}] java coverage"/>
    32     <property name="cc.report.dir" value="${cc.dir}/CC_${jcov}_report"/>
    33     <property name="cc.merged.xml" value="${cc.dir}/CC_${jcov}_result-merged.xml"/>
    35     <condition property="run.test.cc.jvmargs" value="${cc.dynamic.args}">
    36       <equals arg1="${jcov}" arg2="dynamic" trim="true"/>
    37     </condition>
    39     <condition property="cc.generate.template" value="true">
    40       <equals arg1="${cc.dynamic.genereate.template}" arg2="true" trim="true"/>
    41     </condition>
    43     <mkdir dir="${cc.dir}"/>
    44     <mkdir dir="${build.dir}/to_be_instrumented"/>
    46     <!-- info -->
    47     <echo message="jcov=${jcov}"/>
    48     <echo message="cc.generate.template=${cc.generate.template}"/>
    49     <echo message="cc.instrument=${cc.instrument}"/>
    50     <echo message="run.test.cc.jvmargs=${run.test.cc.jvmargs}"/>
    51     <echo message="cc.report.dir=${cc.report.dir}"/>
    52     <echo message="cc.merged.xml=${cc.merged.xml}"/>
    53   </target>
    55   <target name="init-cc-disabled" unless="${cc.enabled}">
    56     <property name="run.test.cc.jvmargs" value=""/>
    57   </target>
    59   <target name="prepare-to-be-instrumented" depends="compile" description="Prepares to_be_instrumented dir">
    60     <copy todir="${build.dir}/to_be_instrumented">
    61       <fileset dir="${build.classes.dir}">
    62         <include name="**/*.class"/>
    63       </fileset>
    64     </copy>
    65   </target>
    67   <target name="generate-cc-template" depends="prepare-to-be-instrumented" description="Generates code coverage template for dynamic CC" if="cc.generate.template">
    68     <property name="cc.instrumented.path" location="${build.dir}/to_be_instrumented"/>
    69     <java classname="com.sun.tdk.jcov.TmplGen">
    70       <arg value="-verbose"/>
    71       <arg line="-include ${cc.include}"/>
    72       <arg line="-type all"/>
    73       <arg line="-template ${cc.template}"/>
    74       <arg value="${cc.instrumented.path}"/>
    75       <classpath>
    76         <pathelement location="${jcov.jar}"/>
    77       </classpath>
    78     </java>
    80     <java classname="com.sun.tdk.jcov.RepGen">
    81       <arg value="-verbose"/>
    82       <arg line="-output ${cc.dir}/CC_template_report"/>
    83       <arg value="${cc.template}"/>
    84       <classpath>
    85         <pathelement location="${jcov.jar}"/>
    86       </classpath>
    87     </java>
    88   </target>
    90   <target name="init-cc" depends="init-cc-disabled, init-cc-enabled">
    91     <property name="run.test.cc.jvmargs" value=""/>
    92   </target>
    94   <target name="init-cc-cleanup" if="${cc.enabled}">
    95     <delete dir="${cc.dir}" failonerror="false" />
    96     <delete dir="${build.dir}/to_be_instrumented" failonerror="false" />
    97   </target>
    99   <target name="check-merging-files" depends="init">
   100 	<echo message="checking avalibility of ${cc.template}"/>
   101     <condition property="nothing-to-merge" value="true">
   102 		<not>
   103 	      <available file="${cc.template}"/>
   104 		</not>
   105     </condition>
   106 	<echo message="nothing-to-merge = ${nothing-to-merge}"/>
   107   </target>
   109   <target name="fix-merging-files" depends="check-merging-files" if="${nothing-to-merge}">
   110 	<echo message="making pre-merge workaround due to missed template"/>
   111 	<move todir="${cc.dir}" includeemptydirs="false">
   112 		<fileset dir="${cc.dir}">
   113 			<include name="*.xml"/>
   114 		</fileset>
   115 		<mapper type="glob" from="*.xml" to="CC_${jcov}_result-merged.xml"/>
   116 	</move>
   117   </target>
   119   <target name="merge-code-coverage" depends="fix-merging-files" unless="${nothing-to-merge}">
   120 	<echo message="merging files"/>
   121     <fileset dir="${cc.dir}" id="cc.xmls">
   122       <include name="**/*_${jcov}_*.xml"/>
   123       <include name="**/CC_template.xml"/>
   124     </fileset>
   126     <pathconvert pathsep=" " property="cc.all.xmls" refid="cc.xmls"/>
   127 	<echo message="merging files - ${cc.all.xmls}" />
   128     <java classname="com.sun.tdk.jcov.Merger">
   129       <arg value="-verbose"/>
   130       <arg value="-output"/>
   131       <arg value="${cc.merged.xml}"/>
   132       <arg value="-exclude"/>
   133       <arg value="com\.oracle\.nashorn\.runtime\.ScriptRuntime*"/>
   134       <arg value="-exclude"/>
   135       <arg value="jdk\.nashorn\.javaadapters*"/>
   136       <arg value="-exclude"/>
   137       <arg value="jdk\.nashorn\.internal\.objects\.annotations*"/>
   138       <arg value="-exclude"/>
   139       <arg value="jdk\.nashorn\.internal\.scripts*"/>
   140       <arg value="-exclude"/>
   141       <arg value="jdk\.nashorn\.internal\.lookup\.MethodHandleFactory*"/>
   142       <arg value="-exclude"/>
   143       <arg value="jdk\.nashorn\.internal\.test\.framework*"/>
   144       <arg value="-exclude"/>
   145       <arg value="jdk\.nashorn\.test\.models*"/>
   146       <arg value="-exclude"/>
   147       <arg value="jdk\.nashorn\.internal\.ir\.debug*"/>
   148       <arg value="-exclude"/>
   149       <arg value="jdk\.nashorn\.internal\.runtime\.regexp\.joni\.bench*"/>
   150       <arg value="-exclude"/>
   151       <arg value="jdk\.nashorn\.internal\.runtime\.DebugLogger*"/>
   152       <arg value="-exclude"/>
   153       <arg value="jdk\.nashorn\.internal\.runtime\.Timing*"/>
   154       <arg value="-exclude"/>
   155       <arg value="jdk\.nashorn\.internal\.runtime\.Logging*"/>
   156       <arg value="-exclude"/>
   157       <arg value="jdk\.nashorn\.internal\.runtime\.Debug*"/>
   158       <arg value="-exclude"/>
   159       <arg value="jdk\.nashorn\.internal\.objects\.NativeDebug*"/>
   160       <arg line="${cc.all.xmls}"/>
   161       <classpath>
   162         <pathelement location="${jcov.jar}"/>
   163       </classpath>
   164     </java>
   166   </target>
   168   <target name="generate-code-coverage-report" depends="merge-code-coverage">
   169     <java classname="com.sun.tdk.jcov.RepGen">
   170       <arg value="-verbose"/>
   171 <!--      <arg line ="-exclude_list CC.report.exclude"/> -->
   172       <arg line="-output ${cc.report.dir}"/>
   173       <arg value="${cc.merged.xml}"/>
   174       <classpath>
   175         <pathelement location="${jcov.jar}"/>
   176       </classpath>
   177     </java>
   178   </target>
   181 </project>

mercurial