1*83a54b2fSSadaf Ebrahimi<project name="testng" default="all" basedir="."> 2*83a54b2fSSadaf Ebrahimi 3*83a54b2fSSadaf Ebrahimi <property file="build.properties"/> 4*83a54b2fSSadaf Ebrahimi 5*83a54b2fSSadaf Ebrahimi <property name="report.dir" value="${test.output.dir}"/> 6*83a54b2fSSadaf Ebrahimi <property name="junit.report.dir" value="${report.dir}/test-tmp"/> 7*83a54b2fSSadaf Ebrahimi <property name="testng.report.dir" value="${report.dir}"/> 8*83a54b2fSSadaf Ebrahimi 9*83a54b2fSSadaf Ebrahimi <target name="all" depends="prepare,compile,run,reports,done"/> 10*83a54b2fSSadaf Ebrahimi 11*83a54b2fSSadaf Ebrahimi <!-- ==================================================================== --> 12*83a54b2fSSadaf Ebrahimi <!-- Compile --> 13*83a54b2fSSadaf Ebrahimi <!-- ==================================================================== --> 14*83a54b2fSSadaf Ebrahimi <path id="compile.cp"> 15*83a54b2fSSadaf Ebrahimi <pathelement location="${testng.jar}" /> 16*83a54b2fSSadaf Ebrahimi <fileset dir="${lib.dir}" includes="${guice2.jar}" /> 17*83a54b2fSSadaf Ebrahimi <fileset dir="${lib.dir}" includes="${junit.jar}" /> 18*83a54b2fSSadaf Ebrahimi <fileset dir="${lib.dir}" includes="aopalliance-1.0.jar" /> 19*83a54b2fSSadaf Ebrahimi </path> 20*83a54b2fSSadaf Ebrahimi 21*83a54b2fSSadaf Ebrahimi <target name="env:info"> 22*83a54b2fSSadaf Ebrahimi <echo> 23*83a54b2fSSadaf EbrahimiBASEDIR =${basedir} 24*83a54b2fSSadaf EbrahimiTEST.DIR =${test.dir} 25*83a54b2fSSadaf EbrahimiTEST.BUILD.DIR =${test.build.dir} 26*83a54b2fSSadaf EbrahimiREPORT.DIR =${report.dir} 27*83a54b2fSSadaf EbrahimiJUNIT.REPORT.DIR =${junit.report.dir} 28*83a54b2fSSadaf EbrahimiTESTNG.REPORT.DIR=${testng.report.dir} 29*83a54b2fSSadaf Ebrahimi </echo> 30*83a54b2fSSadaf Ebrahimi </target> 31*83a54b2fSSadaf Ebrahimi 32*83a54b2fSSadaf Ebrahimi <target name="compile" depends="prepare"> 33*83a54b2fSSadaf Ebrahimi <echo message=" -- Compiling tests --"/> 34*83a54b2fSSadaf Ebrahimi 35*83a54b2fSSadaf Ebrahimi <property name="build.compiler" value="modern"/> 36*83a54b2fSSadaf Ebrahimi <javac debug="true" 37*83a54b2fSSadaf Ebrahimi source="1.7" 38*83a54b2fSSadaf Ebrahimi classpathref="compile.cp" 39*83a54b2fSSadaf Ebrahimi srcdir="${test.dir}" 40*83a54b2fSSadaf Ebrahimi destdir="${test.build.dir}" 41*83a54b2fSSadaf Ebrahimi /> 42*83a54b2fSSadaf Ebrahimi 43*83a54b2fSSadaf Ebrahimi </target> 44*83a54b2fSSadaf Ebrahimi 45*83a54b2fSSadaf Ebrahimi <target name="prepare"> 46*83a54b2fSSadaf Ebrahimi <tstamp/> 47*83a54b2fSSadaf Ebrahimi <mkdir dir="${test.build.dir}"/> 48*83a54b2fSSadaf Ebrahimi <mkdir dir="${junit.report.dir}"/> 49*83a54b2fSSadaf Ebrahimi <mkdir dir="${testng.report.dir}"/> 50*83a54b2fSSadaf Ebrahimi 51*83a54b2fSSadaf Ebrahimi <taskdef name="testng" 52*83a54b2fSSadaf Ebrahimi classname="org.testng.TestNGAntTask" 53*83a54b2fSSadaf Ebrahimi classpath="${build.dir}"/> 54*83a54b2fSSadaf Ebrahimi </target> 55*83a54b2fSSadaf Ebrahimi 56*83a54b2fSSadaf Ebrahimi<!-- 57*83a54b2fSSadaf Ebrahimi <property name="cobertura.dir" value="../cobertura-1.9.4.1" /> 58*83a54b2fSSadaf Ebrahimi 59*83a54b2fSSadaf Ebrahimi <path id="cobertura.classpath"> 60*83a54b2fSSadaf Ebrahimi <fileset dir="${cobertura.dir}"> 61*83a54b2fSSadaf Ebrahimi <include name="cobertura.jar" /> 62*83a54b2fSSadaf Ebrahimi <include name="lib/**/*.jar" /> 63*83a54b2fSSadaf Ebrahimi </fileset> 64*83a54b2fSSadaf Ebrahimi </path> 65*83a54b2fSSadaf Ebrahimi--> 66*83a54b2fSSadaf Ebrahimi 67*83a54b2fSSadaf Ebrahimi <!-- ==================================================================== --> 68*83a54b2fSSadaf Ebrahimi <!-- Run --> 69*83a54b2fSSadaf Ebrahimi <!-- ==================================================================== --> 70*83a54b2fSSadaf Ebrahimi 71*83a54b2fSSadaf Ebrahimi <path id="run.cp"> 72*83a54b2fSSadaf Ebrahimi<!-- 73*83a54b2fSSadaf Ebrahimi <path location="target/instrumented-classes" /> 74*83a54b2fSSadaf Ebrahimi <path refid="cobertura.classpath" /> 75*83a54b2fSSadaf Ebrahimi--> 76*83a54b2fSSadaf Ebrahimi <path refid="compile.cp"/> 77*83a54b2fSSadaf Ebrahimi <pathelement location="${test.build.dir}"/> 78*83a54b2fSSadaf Ebrahimi </path> 79*83a54b2fSSadaf Ebrahimi 80*83a54b2fSSadaf Ebrahimi <target name="run" description="Run tests" depends="compile,copy-resources"> 81*83a54b2fSSadaf Ebrahimi <echo message=" -- Running tests --"/> 82*83a54b2fSSadaf Ebrahimi <echo message=" -- ${testng.jar} --" /> 83*83a54b2fSSadaf Ebrahimi <testng classpathref="run.cp" 84*83a54b2fSSadaf Ebrahimi outputdir="${testng.report.dir}"> 85*83a54b2fSSadaf Ebrahimi <xmlfileset dir="${test.resources.dir}" includes="testng.xml"/> 86*83a54b2fSSadaf Ebrahimi <jvmarg value="-Dtest.resources.dir=${test.resources.dir}" /> 87*83a54b2fSSadaf Ebrahimi <jvmarg value="-Dsun.io.serialization.extendedDebugInfo=true" /> 88*83a54b2fSSadaf Ebrahimi </testng> 89*83a54b2fSSadaf Ebrahimi </target> 90*83a54b2fSSadaf Ebrahimi 91*83a54b2fSSadaf Ebrahimi <target name="copy-resources" description="Copies resources."> 92*83a54b2fSSadaf Ebrahimi <copy verbose="false" 93*83a54b2fSSadaf Ebrahimi file="${src.resources.dir}/testngtasks" 94*83a54b2fSSadaf Ebrahimi todir="${build.dir}" /> 95*83a54b2fSSadaf Ebrahimi <copy todir="${build.dir}"> 96*83a54b2fSSadaf Ebrahimi <fileset dir="${src.resources.dir}"> 97*83a54b2fSSadaf Ebrahimi <exclude name="**/.*" /> 98*83a54b2fSSadaf Ebrahimi <exclude name="**/CVS/*" /> 99*83a54b2fSSadaf Ebrahimi </fileset> 100*83a54b2fSSadaf Ebrahimi </copy> 101*83a54b2fSSadaf Ebrahimi </target> 102*83a54b2fSSadaf Ebrahimi 103*83a54b2fSSadaf Ebrahimi <target name="run:single" description="Run 1 property file named with the ant property test" depends="compile"> 104*83a54b2fSSadaf Ebrahimi <echo message=" -- testng-tests-run1 --"/> 105*83a54b2fSSadaf Ebrahimi 106*83a54b2fSSadaf Ebrahimi <testng outputdir="${testng.report.dir}" 107*83a54b2fSSadaf Ebrahimi classpathref="run.cp" 108*83a54b2fSSadaf Ebrahimi useDefaultListeners="true" 109*83a54b2fSSadaf Ebrahimi outputDir="${testng.report.dir}"> 110*83a54b2fSSadaf Ebrahimi <xmlfileset dir="${test.resources.dir}" includes="testng-single.xml"/> 111*83a54b2fSSadaf Ebrahimi </testng> 112*83a54b2fSSadaf Ebrahimi 113*83a54b2fSSadaf Ebrahimi <echo>Report created in open ${testng.report.dir}/index.html</echo> 114*83a54b2fSSadaf Ebrahimi </target> 115*83a54b2fSSadaf Ebrahimi 116*83a54b2fSSadaf Ebrahimi <target name="run:antprop" description="Run a test to see if ant system propertes are passed correctly" depends="compile"> 117*83a54b2fSSadaf Ebrahimi <echo message=" -- testng-tests-run-antprop --"/> 118*83a54b2fSSadaf Ebrahimi <property name="syspropset1" value="value 1"/> 119*83a54b2fSSadaf Ebrahimi <property name="syspropset2" value="value 2"/> 120*83a54b2fSSadaf Ebrahimi <propertyset id="propset1"> 121*83a54b2fSSadaf Ebrahimi <propertyref name="syspropset1"/> 122*83a54b2fSSadaf Ebrahimi <propertyref name="syspropset2"/> 123*83a54b2fSSadaf Ebrahimi </propertyset> 124*83a54b2fSSadaf Ebrahimi 125*83a54b2fSSadaf Ebrahimi <testng outputdir="${testng.report.dir}" 126*83a54b2fSSadaf Ebrahimi classpathref="run.cp"> 127*83a54b2fSSadaf Ebrahimi <xmlfileset dir="${test.resources.dir}" includes="testng-single3.xml"/> 128*83a54b2fSSadaf Ebrahimi <propertyset refid="propset1"/> 129*83a54b2fSSadaf Ebrahimi <sysproperty key="sysprop1" value="value 3"/> 130*83a54b2fSSadaf Ebrahimi </testng> 131*83a54b2fSSadaf Ebrahimi </target> 132*83a54b2fSSadaf Ebrahimi 133*83a54b2fSSadaf Ebrahimi <!-- ==================================================================== --> 134*83a54b2fSSadaf Ebrahimi <!-- Run specific configuration --> 135*83a54b2fSSadaf Ebrahimi <!-- ==================================================================== --> 136*83a54b2fSSadaf Ebrahimi <target name="run:conf" 137*83a54b2fSSadaf Ebrahimi if="testng.conf" 138*83a54b2fSSadaf Ebrahimi depends="clean:reports,compile" 139*83a54b2fSSadaf Ebrahimi description="Run specified tests"> 140*83a54b2fSSadaf Ebrahimi <echo message=" -- testng-tests-run --"/> 141*83a54b2fSSadaf Ebrahimi <echo message="using: ${testng.conf}.xml"/> 142*83a54b2fSSadaf Ebrahimi 143*83a54b2fSSadaf Ebrahimi <testng classpathref="run.cp" 144*83a54b2fSSadaf Ebrahimi outputDir="${testng.report.dir}"> 145*83a54b2fSSadaf Ebrahimi <xmlfileset dir="${test.resources.dir}" includes="${testng.conf}.xml"/> 146*83a54b2fSSadaf Ebrahimi </testng> 147*83a54b2fSSadaf Ebrahimi 148*83a54b2fSSadaf Ebrahimi <antcall target="clean.tmp"/> 149*83a54b2fSSadaf Ebrahimi </target> 150*83a54b2fSSadaf Ebrahimi 151*83a54b2fSSadaf Ebrahimi 152*83a54b2fSSadaf Ebrahimi <!-- ==================================================================== --> 153*83a54b2fSSadaf Ebrahimi <!-- Reports --> 154*83a54b2fSSadaf Ebrahimi <!-- ==================================================================== --> 155*83a54b2fSSadaf Ebrahimi 156*83a54b2fSSadaf Ebrahimi <target name="reports"> 157*83a54b2fSSadaf Ebrahimi <junitreport todir="${junit.report.dir}"> 158*83a54b2fSSadaf Ebrahimi <fileset dir="${testng.report.dir}"> 159*83a54b2fSSadaf Ebrahimi <include name="*.xml"/> 160*83a54b2fSSadaf Ebrahimi <exclude name="testng-failed.xml"/> 161*83a54b2fSSadaf Ebrahimi <exclude name="testng-results.xml" /> 162*83a54b2fSSadaf Ebrahimi </fileset> 163*83a54b2fSSadaf Ebrahimi <report format="noframes" todir="${junit.report.dir}"/> 164*83a54b2fSSadaf Ebrahimi </junitreport> 165*83a54b2fSSadaf Ebrahimi </target> 166*83a54b2fSSadaf Ebrahimi 167*83a54b2fSSadaf Ebrahimi 168*83a54b2fSSadaf Ebrahimi <target name="clean.tmp"> 169*83a54b2fSSadaf Ebrahimi <delete dir="${test.output.dir}"/> 170*83a54b2fSSadaf Ebrahimi </target> 171*83a54b2fSSadaf Ebrahimi 172*83a54b2fSSadaf Ebrahimi <target name="clean:reports"> 173*83a54b2fSSadaf Ebrahimi <delete dir="${report.dir}"/> 174*83a54b2fSSadaf Ebrahimi <delete dir="${junit.report.dir}"/> 175*83a54b2fSSadaf Ebrahimi </target> 176*83a54b2fSSadaf Ebrahimi 177*83a54b2fSSadaf Ebrahimi <target name="clean" depends="clean.tmp,clean:reports"> 178*83a54b2fSSadaf Ebrahimi <echo message=" -- test clean --"/> 179*83a54b2fSSadaf Ebrahimi 180*83a54b2fSSadaf Ebrahimi <delete dir="${test.build.dir}"/> 181*83a54b2fSSadaf Ebrahimi </target> 182*83a54b2fSSadaf Ebrahimi 183*83a54b2fSSadaf Ebrahimi <target name="done"> 184*83a54b2fSSadaf Ebrahimi <echo>Reports can be found in: open ${testng.report.dir}/index.html</echo> 185*83a54b2fSSadaf Ebrahimi </target> 186*83a54b2fSSadaf Ebrahimi 187*83a54b2fSSadaf Ebrahimi</project> 188