diff options
Diffstat (limited to 'infrastructure/rhino1_7R1/testsrc/build.xml')
-rw-r--r-- | infrastructure/rhino1_7R1/testsrc/build.xml | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/infrastructure/rhino1_7R1/testsrc/build.xml b/infrastructure/rhino1_7R1/testsrc/build.xml new file mode 100644 index 0000000..bc05516 --- /dev/null +++ b/infrastructure/rhino1_7R1/testsrc/build.xml @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="testsrc" basedir=".."> + <!-- + Location of mozilla/js/tests directory + --> + <property name="test.library.dir" location="../tests" /> + + <!-- + Destination to which testing classes should be built + --> + <property name="test.classes" value="${build.dir}/test/classes" /> + + <!-- + Output directory for HTML files generated by jsdriver + --> + <property name="test.output" value="${build.dir}/test/output" /> + + <!-- + Timeout in milliseconds for tests + --> + <property name="test.timeout" value="60000" /> + + <!-- + Maximum heap size for VM executing test cases. + --> + <property name="test.vm.mx" value="256m" /> + + <target name="junit-compile"> + <mkdir dir="${test.classes}" /> + <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/junit/junit/3.8.2/junit-3.8.2.jar" dest="lib/junit.jar" usetimestamp="true"/> + <javac + srcdir="testsrc" + destdir="${test.classes}" debug="true" + target="${target-jvm}" + source="${source-level}" + > + <classpath> + <pathelement path="lib/junit.jar" /> + <pathelement path="${classes}" /> + <pathelement path="${test-classes}" /> + </classpath> + <include name="org/mozilla/javascript/drivers/StandardTests.java" /> + </javac> + <antcall target="copy-files" /> + </target> + + <target name="compile"> + <mkdir dir="${test.classes}" /> + <javac + srcdir="testsrc" + destdir="${test.classes}" debug="true" + target="${target-jvm}" + source="${source-level}" + > + <classpath> + <pathelement path="${classes}" /> + </classpath> + <sourcepath path="testsrc" /> + <include name="org/mozilla/javascript/drivers/JsDriver.java" /> + </javac> + <antcall target="copy-files" /> + </target> + + <target name="copy-files"> + <copy todir="${test.classes}"> + <fileset dir="testsrc"> + <exclude name="**/*.java build.xml"/> + </fileset> + </copy> + </target> + + <target name="clean"> + <delete dir="${test.classes}" /> + </target> + + <target name="coverage-instrument"> + <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/emma/emma/2.0.5312/emma-2.0.5312.jar" dest="lib/emma.jar" usetimestamp="true"/> + <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/emma/emma_ant/2.0.5312/emma_ant-2.0.5312.jar" dest="lib/emma_ant.jar" usetimestamp="true"/> + <property name="coverage.dir" location="${build.dir}/coverage"/> + <property name="coverage.classes.dir" location="${build.dir}/coverage/classes"/> + <mkdir dir="${coverage.classes.dir}"/> + <path id="emma.lib"> + <pathelement location="lib/emma.jar" /> + <pathelement location="lib/emma_ant.jar" /> + </path> + <taskdef resource="emma_ant.properties" classpathref="emma.lib" /> + <property name="coverage.instrumentationfile" location="${coverage.dir}/instrumentation"/> + <emma enabled="true"> + <instr + instrpath="${classes}" outdir="${coverage.classes.dir}" + outfile="${coverage.instrumentationfile}" mode="copy"/> + </emma> + <copy todir="${coverage.classes.dir}"> + <fileset dir="src" excludes="**/*.java"/> + </copy> + <copy todir="${coverage.classes.dir}"> + <fileset dir="${classes}"/> + </copy> + <property name="coverage.outfile" location="${coverage.dir}/coverage"/> + </target> + + <target name="junit" depends="junit-compile,coverage-instrument"> + <junit printsummary="on" fork="true" forkmode="once" maxmemory="${test.vm.mx}" showoutput="true"> + <sysproperty key="java.awt.headless" value="true" /> + <sysproperty key="mozilla.js.tests" value="${test.library.dir}" /> + <sysproperty key="mozilla.js.tests.timeout" value="${test.timeout}" /> + <sysproperty key="emma.coverage.out.file" value="${coverage.outfile}"/> + <classpath> + <pathelement location="${xbean.jar}"/> + <pathelement location="${jsr173.jar}"/> + <pathelement path="${coverage.classes.dir}" /> + <pathelement path="${classes}" /> + <pathelement path="${test.classes}" /> + <pathelement path="lib/emma.jar"/> + <pathelement path="lib/junit.jar" /> + </classpath> + <batchtest todir="build/test"> + <fileset dir="${test.classes}" includes="**/*Tests.class"/> + </batchtest> + <formatter type="plain" usefile="false" /> + <formatter type="xml"/> + </junit> + <mkdir dir="build/test/report"/> + <junitreport todir="build/test/report"> + <fileset dir="build/test" includes="*.xml"/> + <report todir="build/test/report"/> + </junitreport> + </target> + + <target name="junit-coveragereport" depends="junit"> + <property name="coverage.report.dir" location="${build.dir}/coverage/report"/> + <mkdir dir="${coverage.report.dir}"/> + <delete dir="${coverage.report.dir}"/> + <mkdir dir="${coverage.report.dir}"/> + <emma enabled="true"> + <report> + <fileset dir="${basedir}"> + <include name="build/coverage/instrumentation"/> + <include name="build/coverage/coverage"/> + </fileset> + <sourcepath> + <dirset dir="${basedir}"> + <include name="src"/> + </dirset> + </sourcepath> + <html outfile="${coverage.report.dir}/index.html"/> + </report> + </emma> + </target> + + <target name="jsdriver" depends="compile"> + <tstamp> + <format property="test.timestamp" pattern="yyyy.MM.dd.HH.mm.ss" /> + </tstamp> + <mkdir dir="${test.output}" /> + <java + fork="true" + classname="org.mozilla.javascript.drivers.JsDriver" + maxmemory="${test.vm.mx}" + > + <classpath> + <pathelement location="${xbean.jar}"/> + <pathelement location="${jsr173.jar}"/> + <pathelement path="${classes}" /> + <pathelement path="${test.classes}" /> + </classpath> + <arg value="-p" /> + <arg file="${test.library.dir}" /> + <arg value="-f" /> + <arg value="${test.output}/rhino-test-results.${test.timestamp}.html" /> + <arg value="--timeout" /> + <arg value="${test.timeout}" /> + </java> + </target> + + <target name="copy-source"> + <mkdir dir="${dist.dir}/testsrc"/> + <copy todir="${dist.dir}/testsrc"> + <fileset dir="testsrc" + includes="**/*.java,**/*.properties,**/*.xml,**/*.html,**/*.skip" /> + </copy> + </target> +</project> |