tracesrv/tracecompiler/test/group/build.xml
author hgs
Tue, 26 Oct 2010 16:20:32 +0300
changeset 62 1c2bb2fc7c87
parent 56 aa2539c91954
permissions -rw-r--r--
201043
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56
hgs
parents:
diff changeset
     1
<project name="OstTraceCompilerTest" default="build" basedir="..">
hgs
parents:
diff changeset
     2
hgs
parents:
diff changeset
     3
<condition property="isLinux">
hgs
parents:
diff changeset
     4
    <os name="linux"/>
hgs
parents:
diff changeset
     5
</condition>
hgs
parents:
diff changeset
     6
hgs
parents:
diff changeset
     7
<condition property="isWindows">
hgs
parents:
diff changeset
     8
	<not>
hgs
parents:
diff changeset
     9
		<os name="linux"/>
hgs
parents:
diff changeset
    10
	</not>
hgs
parents:
diff changeset
    11
</condition>
hgs
parents:
diff changeset
    12
hgs
parents:
diff changeset
    13
<!-- EMMA configuration -->
hgs
parents:
diff changeset
    14
<path id="emma.lib" >
hgs
parents:
diff changeset
    15
	<pathelement location="${ant.home}/lib/emma.jar" />
hgs
parents:
diff changeset
    16
	<pathelement location="${ant.home}/lib/emma_ant.jar" />
hgs
parents:
diff changeset
    17
</path>
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
<taskdef resource="emma_ant.properties" classpathref="emma.lib" />
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
<target name="init_windows_epocroot" if="isWindows">
hgs
parents:
diff changeset
    22
	<property environment="env" />
hgs
parents:
diff changeset
    23
	<echo message="Init Windows epocroot"/>
hgs
parents:
diff changeset
    24
	<property name="epoc.root" value="${env.EPOCROOT}"/>
hgs
parents:
diff changeset
    25
</target>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
<target name="init_linux_epocroot" if="isLinux">
hgs
parents:
diff changeset
    28
	<property environment="env" />
hgs
parents:
diff changeset
    29
	<echo message="Init Linux epocroot"/>
hgs
parents:
diff changeset
    30
	<property name="epoc.root" value="${env.EPOCROOT}//" />
hgs
parents:
diff changeset
    31
</target>
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
<target name="init" depends="init_windows_epocroot, init_linux_epocroot">
hgs
parents:
diff changeset
    34
	<property name="src.dir" value="src" />
hgs
parents:
diff changeset
    35
	<property name="build.dir" value="build" />
hgs
parents:
diff changeset
    36
	<property name="jar.dir" value="jar" />
hgs
parents:
diff changeset
    37
	<property name="instr.dir" location="instr"/>
hgs
parents:
diff changeset
    38
	<property name="testdata.dir" location="${epoc.root}testdata"/>
hgs
parents:
diff changeset
    39
	<property name="reports.dir" value="${epoc.root}testdata/reports" />	
hgs
parents:
diff changeset
    40
	<property name="emma.dir" location="${epoc.root}testdata/reports/emma"/>
hgs
parents:
diff changeset
    41
	<property name="tools.dir" location="${epoc.root}epoc32/tools"/>
hgs
parents:
diff changeset
    42
</target>
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
<target name="clean" depends="init">
hgs
parents:
diff changeset
    45
	<echo>Cleaning the ${build.dir}</echo>
hgs
parents:
diff changeset
    46
	<delete dir="${build.dir}"/>
hgs
parents:
diff changeset
    47
	<echo>Creating the ${build.dir} directory</echo>
hgs
parents:
diff changeset
    48
	<mkdir dir="${build.dir}"/>
hgs
parents:
diff changeset
    49
	<echo>Cleaning the ${reports.dir}</echo>
hgs
parents:
diff changeset
    50
	<delete dir="${reports.dir}"/>
hgs
parents:
diff changeset
    51
	<echo>Creating the ${reports.dir} directory</echo>
hgs
parents:
diff changeset
    52
	<mkdir dir="${reports.dir}"/>
hgs
parents:
diff changeset
    53
	<echo>Cleaning the ${instr.dir}</echo>
hgs
parents:
diff changeset
    54
	<delete dir="${instr.dir}"/>
hgs
parents:
diff changeset
    55
	<echo>Creating the ${instr.dir} directory</echo>
hgs
parents:
diff changeset
    56
	<mkdir dir="${instr.dir}"/>
hgs
parents:
diff changeset
    57
	<echo>Deleting test exports</echo>
hgs
parents:
diff changeset
    58
	<delete file="${epoc.root}epoc32/include/platform/test_opensystemtrace_types.h"/>
hgs
parents:
diff changeset
    59
	<delete file="${epoc.root}epoc32/build/buildlog_tc.txt"/>
hgs
parents:
diff changeset
    60
	<delete file="${epoc.root}epoc32/build/parsedlogs_tc.txt"/>
hgs
parents:
diff changeset
    61
	<delete file="${epoc.root}epoc32/build/buildlog_sbs.txt"/>
hgs
parents:
diff changeset
    62
	<delete file="${epoc.root}epoc32/build/parsedlogs_sbs.txt"/>
hgs
parents:
diff changeset
    63
	<delete file="${epoc.root}epoc32/build/buildlog_mult_cpp.txt"/>
hgs
parents:
diff changeset
    64
	<delete file="${epoc.root}epoc32/build/parsedlogs_mult_cpp.txt"/>
hgs
parents:
diff changeset
    65
	<delete file="${epoc.root}epoc32/build/buildlog_mult_mmp.txt"/>
hgs
parents:
diff changeset
    66
	<delete file="${epoc.root}epoc32/build/parsedlogs_mult_mmp.txt"/>	
hgs
parents:
diff changeset
    67
	<delete dir="${testdata.dir}/TraceErrorApp"/>
hgs
parents:
diff changeset
    68
	<delete dir="${testdata.dir}/MultipleCppTraceErrorApp"/>
hgs
parents:
diff changeset
    69
	<delete dir="${testdata.dir}/MultipleMmpTraceErrorApps"/>
hgs
parents:
diff changeset
    70
	<delete dir="${testdata.dir}/FixedIdDefinitionsTestApp"/>
hgs
parents:
diff changeset
    71
	<delete dir="${testdata.dir}/MultipleMmpTestCases"/>
hgs
parents:
diff changeset
    72
	<delete dir="${epoc.root}testdata/MultipleMmpTestCases"/>
hgs
parents:
diff changeset
    73
	<delete dir="${testdata.dir}TracesInHeadersApps"/>
hgs
parents:
diff changeset
    74
	<delete dir="${epoc.root}epoc32/build/testdata/MultipleMmpTestCases"/>
hgs
parents:
diff changeset
    75
	<delete dir="${epoc.root}epoc32/build/testdata/MultipleCppTraceErrorApp"/>
hgs
parents:
diff changeset
    76
	<delete dir="${epoc.root}epoc32/build/testdata/TracesInHeadersApps"/>
62
hgs
parents: 56
diff changeset
    77
	<delete dir="${testdata.dir}/SourceEngineTest"/>
56
hgs
parents:
diff changeset
    78
</target>
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
<target name="build" depends="clean">
hgs
parents:
diff changeset
    81
	<property name="classpath" value="${build.dir}:lib/junit-4.7.jar:../jar/tracecompiler.jar" />
hgs
parents:
diff changeset
    82
	<copy todir="${epoc.root}epoc32/include/platform">
hgs
parents:
diff changeset
    83
		<fileset dir="testdata"/>
hgs
parents:
diff changeset
    84
	</copy>
hgs
parents:
diff changeset
    85
	<copy todir="${epoc.root}testdata/TraceErrorApp">
hgs
parents:
diff changeset
    86
		<fileset dir="TraceErrorApp"/>
hgs
parents:
diff changeset
    87
	</copy>	
hgs
parents:
diff changeset
    88
	<copy todir="${epoc.root}testdata/MultipleCppTraceErrorApp">
hgs
parents:
diff changeset
    89
		<fileset dir="MultipleCppTraceErrorApp"/>
hgs
parents:
diff changeset
    90
	</copy>	
hgs
parents:
diff changeset
    91
	<copy todir="${epoc.root}testdata/MultipleMmpTraceErrorApps">
hgs
parents:
diff changeset
    92
		<fileset dir="MultipleMmpTraceErrorApps"/>
hgs
parents:
diff changeset
    93
	</copy>
hgs
parents:
diff changeset
    94
	<copy todir="${epoc.root}testdata/FixedIdDefinitionsTestApp">
hgs
parents:
diff changeset
    95
		<fileset dir="FixedIdDefinitionsTestApp"/>
hgs
parents:
diff changeset
    96
	</copy>			
hgs
parents:
diff changeset
    97
	<copy todir="${epoc.root}testdata/MultipleMmpTestCases">
hgs
parents:
diff changeset
    98
		<fileset dir="MultipleMmpTestCases"/>
hgs
parents:
diff changeset
    99
	</copy>
hgs
parents:
diff changeset
   100
    	<copy todir="${epoc.root}testdata/TracesInHeadersApps">
hgs
parents:
diff changeset
   101
		<fileset dir="TracesInHeadersApps"/>
hgs
parents:
diff changeset
   102
	</copy>
62
hgs
parents: 56
diff changeset
   103
hgs
parents: 56
diff changeset
   104
    	<copy todir="${epoc.root}testdata/SourceEngineTest">
hgs
parents: 56
diff changeset
   105
		<fileset dir="SourceEngineTest"/>
hgs
parents: 56
diff changeset
   106
	</copy>
hgs
parents: 56
diff changeset
   107
hgs
parents: 56
diff changeset
   108
56
hgs
parents:
diff changeset
   109
	<javac  classpath="${classpath}" srcdir="${src.dir}" destdir="${build.dir}" debug="false" target="1.5" >
hgs
parents:
diff changeset
   110
	</javac>
62
hgs
parents: 56
diff changeset
   111
    <!--build pure junit tests from the standard path -->
hgs
parents: 56
diff changeset
   112
    <javac  classpath="${classpath}" srcdir="../${src.dir}" destdir="${build.dir}" debug="false" target="1.5" >
hgs
parents: 56
diff changeset
   113
        <include name="**/*Test.java"/>
hgs
parents: 56
diff changeset
   114
        <include name="**/Mock*.java"/>
hgs
parents: 56
diff changeset
   115
	</javac>
hgs
parents: 56
diff changeset
   116
    
56
hgs
parents:
diff changeset
   117
</target>
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
<target name="run" depends="build" description="run the junit tests">
hgs
parents:
diff changeset
   120
hgs
parents:
diff changeset
   121
	<echo>---- Note ANT 1.7 or greater is required for the junit task ----</echo>
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
	<!-- generate classpath -->
hgs
parents:
diff changeset
   124
	<path id="lib.path.ref">
hgs
parents:
diff changeset
   125
		<pathelement location="build"/>
hgs
parents:
diff changeset
   126
   		<fileset dir="lib" includes="*.jar"/>
hgs
parents:
diff changeset
   127
   		<fileset dir="../jar" includes="*.jar"/>
hgs
parents:
diff changeset
   128
 	</path>
hgs
parents:
diff changeset
   129
	
62
hgs
parents: 56
diff changeset
   130
	<junit printsummary="yes" haltonfailure="no" haltonerror="no">		
56
hgs
parents:
diff changeset
   131
	 	<classpath path="${toString:lib.path.ref}"/>
hgs
parents:
diff changeset
   132
	 	<formatter type="plain"/>
hgs
parents:
diff changeset
   133
	
hgs
parents:
diff changeset
   134
		<!--complete test code should be in the $src.dir so run all of them except ErrorLogsTestBase.java-->
hgs
parents:
diff changeset
   135
		<!--that is the base class of ErrorLogsTestUnit.java and ErrorLogsTestSystem.java-->	 	 	
hgs
parents:
diff changeset
   136
	 	<batchtest fork="yes" todir="${reports.dir}">
hgs
parents:
diff changeset
   137
	 		<fileset dir="${src.dir}">
hgs
parents:
diff changeset
   138
	      		<include name="*.java"/>
hgs
parents:
diff changeset
   139
	      		<exclude name="ErrorLogsTestBase.java"/>
hgs
parents:
diff changeset
   140
	 		</fileset>
62
hgs
parents: 56
diff changeset
   141
            <fileset dir="../src/com.nokia.tracecompiler/src">
hgs
parents: 56
diff changeset
   142
	      		<include name="**/*Test.java"/>
hgs
parents: 56
diff changeset
   143
                <exclude name="**/Mock*.java"/>
hgs
parents: 56
diff changeset
   144
	 		</fileset>
56
hgs
parents:
diff changeset
   145
	 	</batchtest>	
hgs
parents:
diff changeset
   146
	</junit>
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
</target>
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
<!-- Instrumentation target, depends on JAR -->
hgs
parents:
diff changeset
   151
<target name="instr" depends="build">
hgs
parents:
diff changeset
   152
	<!-- Instrument the source code -->
hgs
parents:
diff changeset
   153
	<emma>
hgs
parents:
diff changeset
   154
		<instr instrpath="${tools.dir}/tracecompiler" metadatafile="${emma.dir}/metadata.emma" merge="true" mode="overwrite"/>
hgs
parents:
diff changeset
   155
	</emma>
hgs
parents:
diff changeset
   156
</target>
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
<!--target to execute pure unit tests and measure test coverage-->		 
hgs
parents:
diff changeset
   159
<target name="run_unit_emma" depends="instr" description="run the TraceCompiler unit tests and measure test coverage">
hgs
parents:
diff changeset
   160
	<echo>---- Note ANT 1.7 or greater is required for the junit task ----</echo>
hgs
parents:
diff changeset
   161
hgs
parents:
diff changeset
   162
	<!-- generate classpath -->
hgs
parents:
diff changeset
   163
	<path id="lib.path.ref">
hgs
parents:
diff changeset
   164
		<!-- Instrumented class files -->
hgs
parents:
diff changeset
   165
		<pathelement location="${epoc.root}epoc32/tools/tracecompiler"/>
hgs
parents:
diff changeset
   166
		<pathelement location="build"/>
hgs
parents:
diff changeset
   167
		<fileset dir="${instr.dir}" includes="*.class"/>
hgs
parents:
diff changeset
   168
		<fileset dir="lib" includes="*.jar"/>
hgs
parents:
diff changeset
   169
hgs
parents:
diff changeset
   170
		<!-- EMMA -->
hgs
parents:
diff changeset
   171
		<pathelement path="${ant.home}/lib/emma.jar"/>
hgs
parents:
diff changeset
   172
 	</path>
hgs
parents:
diff changeset
   173
	
hgs
parents:
diff changeset
   174
	<echo>${toString:lib.path.ref}</echo> 
hgs
parents:
diff changeset
   175
	
62
hgs
parents: 56
diff changeset
   176
	<junit printsummary="yes" haltonfailure="no" haltonerror="no">		
56
hgs
parents:
diff changeset
   177
	 	<classpath path="${toString:lib.path.ref}"/>
hgs
parents:
diff changeset
   178
	 	<formatter type="plain"/>
hgs
parents:
diff changeset
   179
		<formatter type="xml"/>
hgs
parents:
diff changeset
   180
hgs
parents:
diff changeset
   181
		<!-- Instrumentation arguments to JVM -->
hgs
parents:
diff changeset
   182
		<jvmarg value="-Demma.coverage.out.file=${emma.dir}/coverage.emma" />
hgs
parents:
diff changeset
   183
		<jvmarg value="-Demma.coverage.out.merge=true" />
hgs
parents:
diff changeset
   184
hgs
parents:
diff changeset
   185
		<!--complete test code should be in the $src.dir so run all of them except ErrorLogsTestSystem.java, MultipleMmpTest.java and-->
hgs
parents:
diff changeset
   186
		<!--ErrorLogsTestBase.java that is the base class of ErrorLogsTestUnit.java and ErrorLogsTestSystem.java-->		 	
hgs
parents:
diff changeset
   187
	 	<batchtest fork="yes" todir="${reports.dir}">
hgs
parents:
diff changeset
   188
	 		<fileset dir="${src.dir}">
hgs
parents:
diff changeset
   189
	      		<include name="*.java"/>
hgs
parents:
diff changeset
   190
	      		<exclude name="ErrorLogsTestSystem.java"/>
hgs
parents:
diff changeset
   191
	      		<exclude name="ErrorLogsTestBase.java"/>
hgs
parents:
diff changeset
   192
	      		<exclude name="MultipleMmpTest.java"/>
hgs
parents:
diff changeset
   193
	      		<exclude name="TracesInHeadersTest.java"/>	      		
hgs
parents:
diff changeset
   194
                <exclude name="TraceHeadersLicenceTest.java"/>
hgs
parents:
diff changeset
   195
	 		</fileset>
62
hgs
parents: 56
diff changeset
   196
            <fileset dir="../src/com.nokia.tracecompiler/src">
hgs
parents: 56
diff changeset
   197
	      		<include name="**/*Test.java"/>
hgs
parents: 56
diff changeset
   198
                <exclude name="**/Mock*.java"/>
hgs
parents: 56
diff changeset
   199
	 		</fileset>
56
hgs
parents:
diff changeset
   200
		</batchtest>
hgs
parents:
diff changeset
   201
	</junit>
hgs
parents:
diff changeset
   202
		
hgs
parents:
diff changeset
   203
	<!-- Create EMMA report -->
hgs
parents:
diff changeset
   204
	<emma>
hgs
parents:
diff changeset
   205
		<report sourcepath="src/" >
hgs
parents:
diff changeset
   206
			<fileset dir="${emma.dir}" >
hgs
parents:
diff changeset
   207
				<include name="*.emma" />
hgs
parents:
diff changeset
   208
			</fileset>
hgs
parents:
diff changeset
   209
			<xml outfile="${emma.dir}/coverage.xml" />
hgs
parents:
diff changeset
   210
		</report>
hgs
parents:
diff changeset
   211
	</emma>
hgs
parents:
diff changeset
   212
</target>
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
<!--target to execute pure unit tests-->		 
hgs
parents:
diff changeset
   215
<target name="run_unit" depends="build" description="run the TraceCompiler unit tests">
hgs
parents:
diff changeset
   216
hgs
parents:
diff changeset
   217
	<echo>---- Note ANT 1.7 or greater is required for the junit task ----</echo>
hgs
parents:
diff changeset
   218
hgs
parents:
diff changeset
   219
	<!-- generate classpath -->
hgs
parents:
diff changeset
   220
	<path id="lib.path.ref">
hgs
parents:
diff changeset
   221
		<pathelement location="build"/>
hgs
parents:
diff changeset
   222
   		<fileset dir="lib" includes="*.jar"/>
hgs
parents:
diff changeset
   223
   		<fileset dir="../jar" includes="*.jar"/>
hgs
parents:
diff changeset
   224
 	</path>
hgs
parents:
diff changeset
   225
	
62
hgs
parents: 56
diff changeset
   226
	<junit printsummary="yes" haltonfailure="no" haltonerror="no">		
56
hgs
parents:
diff changeset
   227
	 	<classpath path="${toString:lib.path.ref}"/>
hgs
parents:
diff changeset
   228
	 	<formatter type="plain"/>
hgs
parents:
diff changeset
   229
	 	<formatter type="xml"/>
hgs
parents:
diff changeset
   230
	
hgs
parents:
diff changeset
   231
		<!--complete test code should be in the $src.dir so run all of them except ErrorLogsTestBase.java-->
hgs
parents:
diff changeset
   232
		<!--that is the base class of ErrorLogsTestUnit.java and ErrorLogsTestSystem.java-->	 	 	
hgs
parents:
diff changeset
   233
	 	<batchtest fork="yes" todir="${reports.dir}">
hgs
parents:
diff changeset
   234
	 		<fileset dir="${src.dir}">
hgs
parents:
diff changeset
   235
	      		<include name="*.java"/>
hgs
parents:
diff changeset
   236
	      		<exclude name="ErrorLogsTestSystem.java"/>
hgs
parents:
diff changeset
   237
	      		<exclude name="ErrorLogsTestBase.java"/>
hgs
parents:
diff changeset
   238
	      		<exclude name="MultipleMmpTest.java"/>
hgs
parents:
diff changeset
   239
	      		<exclude name="TracesInHeadersTest.java"/>	 
hgs
parents:
diff changeset
   240
	      		<exclude name="TraceHeadersLicenceTest.java"/>                
hgs
parents:
diff changeset
   241
	 		</fileset>
62
hgs
parents: 56
diff changeset
   242
            <fileset dir="../src/com.nokia.tracecompiler/src">
hgs
parents: 56
diff changeset
   243
	      		<include name="**/*Test.java"/>
hgs
parents: 56
diff changeset
   244
                <exclude name="**/Mock*.java"/>
hgs
parents: 56
diff changeset
   245
	 		</fileset>
56
hgs
parents:
diff changeset
   246
	 	</batchtest>	
hgs
parents:
diff changeset
   247
	</junit>
hgs
parents:
diff changeset
   248
hgs
parents:
diff changeset
   249
</target>
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
<target name="jar" depends="build">
hgs
parents:
diff changeset
   252
	<mkdir dir="${jar.dir}"/>
hgs
parents:
diff changeset
   253
        <jar destfile="${jar.dir}/tests.jar" basedir="${build.dir}">
hgs
parents:
diff changeset
   254
            <manifest>
hgs
parents:
diff changeset
   255
                <attribute name="Main-Class" value="GroupNamesTest"/>
hgs
parents:
diff changeset
   256
            </manifest>
hgs
parents:
diff changeset
   257
        </jar>
hgs
parents:
diff changeset
   258
</target>
hgs
parents:
diff changeset
   259
hgs
parents:
diff changeset
   260
</project>