aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/infrastructure/rhino1_7R1/testsrc/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/infrastructure/rhino1_7R1/testsrc/build.xml')
-rw-r--r--trunk/infrastructure/rhino1_7R1/testsrc/build.xml183
1 files changed, 183 insertions, 0 deletions
diff --git a/trunk/infrastructure/rhino1_7R1/testsrc/build.xml b/trunk/infrastructure/rhino1_7R1/testsrc/build.xml
new file mode 100644
index 0000000..bc05516
--- /dev/null
+++ b/trunk/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>