diff options
Diffstat (limited to 'tests/test.xml')
-rw-r--r-- | tests/test.xml | 110 |
1 files changed, 42 insertions, 68 deletions
diff --git a/tests/test.xml b/tests/test.xml index 3964573d89..222fe0a452 100644 --- a/tests/test.xml +++ b/tests/test.xml @@ -1,11 +1,17 @@ <?xml version="1.0"?> - -<project name="Run Vaadin Testbench Tests" basedir="." default="run-and-clean-up"> +<project xmlns:antcontrib="antlib:net.sf.antcontrib" + xmlns:ivy="antlib:org.apache.ivy.ant" + name="Run Vaadin Testbench Tests" basedir="." default="run-and-clean-up"> + + <property name="project.root" value=".."/> + <!-- Import common targets --> + <import file="../build/common.xml" /> + <!-- ================================================================== --> <!-- Configuration --> <!-- ================================================================== --> <!-- Browsers to use for testing --> - <property name="browsers-windows" value="winxp-ie6,winxp-ie7,winxp-ie8,win7-ie9,winxp-firefox36,winxp-firefox12,winxp-safari4,winxp-safari5,winxp-googlechrome13,winxp-googlechrome19,winxp-opera1060,winxp-opera11" /> + <property name="browsers-windows" value="winxp-ie8,win7-ie9,winxp-firefox12,winxp-safari5,winxp-googlechrome19,winxp-opera11" /> <property name="browsers-linux" value="linux-firefox3,linux-opera10,linux-googlechrome8" /> <property name="browsers-mac" value="osx-firefox3,osx-opera10,osx-googlechrome8,osx-safari4,osx-safari5" /> @@ -27,21 +33,19 @@ <property name="com.vaadin.testbench.debug" value="false"/> <!-- Temporary output directory, created and removed by this script --> - <!-- <property name="test-output-dir" value="../build/test-output" /> --> - <fail unless="test-output-dir" message="The 'test-output-dir' property must be defined." /> - + <fail unless="test-output-dir" message="The 'test-output-dir' property must be defined." /> + <property name="class-dir" value="${test-output-dir}/classes" /> - <taskdef resource="net/sf/antcontrib/antlib.xml"> - <classpath> - <pathelement location="../build/lib/ant-contrib-1.0b3.jar" /> - </classpath> - </taskdef> - - <!-- classpath must include test bench jar and its dependencies --> - <path id="classpath"> - <fileset dir="${com.vaadin.testbench.lib.dir}" includes="**/*.jar" /> - <fileset dir="../build/lib" includes="emma*.jar" /> - </path> + + <target name="initialize" depends="common.init-deps"> + <ivy:resolve conf="emma"/> + <ivy:cachepath pathid="emma.lib" conf="emma" /> + <!-- classpath must include test bench jar and its dependencies --> + <path id="classpath"> + <fileset dir="${com.vaadin.testbench.lib.dir}" includes="**/*.jar" /> + <path refid="emma.lib" /> + </path> + </target> <!-- fileset containing all TestBench tests to run --> <fileset dir=".." id="html-test-files"> @@ -51,7 +55,7 @@ </fileset> <!-- This target converts HTML tests files to java junit tests. One test file for each browser is created. --> - <target name="create-tests" depends="remove-temp-testclasses" if="server.start.succeeded"> + <target name="create-tests" depends="initialize, remove-temp-testclasses"> <pathconvert pathsep=" " property="testfiles" refid="html-test-files" /> <java classname="com.vaadin.testbench.util.TestConverter" classpathref="classpath" fork="true"> @@ -68,51 +72,13 @@ <!-- This target complies the generated java junit tests. --> <target name="compile-tests" depends="create-tests"> <mkdir dir="${class-dir}" /> - <javac srcdir="${test-output-dir}" destdir="${class-dir}" debug="on" fork="yes" failonerror="false" encoding="UTF8"> + <javac includeantruntime="false" srcdir="${test-output-dir}" destdir="${class-dir}" debug="on" fork="yes" failonerror="false" encoding="UTF8"> <classpath> <path refid="classpath" /> </classpath> </javac> </target> - - <!-- ================================================================== --> - <!-- Vaadin Server Management --> - <!-- ================================================================== --> - - <target name="server-start"> - <fail unless="output-dir" message="The 'output-dir' (usually build/result/vaadin-xxx) should be given to test script." /> - <fail unless="package.name" message="The 'package.name' property must be defined." /> - <fail unless="package.filename" message="The 'package.filename' property must be defined." /> - <fail unless="testing.testarea" message="The 'testing.testarea' property must be defined." /> - - <echo>Package name: ${package.name}</echo> - <echo>Package filename: ${package.filename}</echo> - <echo>Testing area: ${testing.testarea}</echo> - - <exec executable="python" searchpath="true" dir=".." resultproperty="server.start.result"> - <arg value="build/testing/vaadin-server.py" /> - <arg value="start" /> - <arg value="${package.name}" /> - <arg value="${package.filename}" /> - <arg value="${output-dir}" /> - <arg value="${testing.testarea}" /> - </exec> - - <condition property="server.start.succeeded"> - <equals arg1="${server.start.result}" arg2="0" /> - </condition> - </target> - - <target name="server-stop"> - <sleep seconds="5" /> - <exec executable="python" dir=".." searchpath="true" resultproperty="server.stop.result"> - <arg value="build/testing/vaadin-server.py" /> - <arg value="stop" /> - </exec> - <move file="${testing.testarea}/${package.name}/war.ec" todir="../build/result" failonerror="false" /> - </target> - <!-- ================================================================== --> <!-- Running Tests --> <!-- ================================================================== --> @@ -123,22 +89,22 @@ <fail unless="com.vaadin.testbench.deployment.url" message="The 'com.vaadin.testbench.deployment.url' property must be defined." /> </target> - <target name="run-tests" depends="compile-tests" if="server.start.succeeded"> + <target name="run-tests" depends="compile-tests"> <fileset dir="${test-output-dir}" id="tests-fileset"> <include name="**/**.java" /> </fileset> - - - <for threadCount="30" parallel="true" keepgoing="true" param="target"> + + <antcontrib:for threadCount="30" parallel="true" keepgoing="true" param="target"> <path> <fileset refid="tests-fileset" /> </path> <sequential> <antcall target="execute-tests"> <param name="target" value="@{target}" /> + <reference refid="classpath" /> </antcall> </sequential> - </for> + </antcontrib:for> </target> <!-- This target runs the generated and compiled junit tests --> @@ -200,11 +166,19 @@ <!-- ================================================================== --> <!-- The default target. --> - <target name="run-and-clean-up" depends="check-parameters,remove-error-screens,run-tests" if="server.start.succeeded"> - </target> + <target name="run-and-clean-up" depends="check-parameters,remove-error-screens,run-tests" /> <!-- Also starts the server. --> - <target name="test-package" depends="server-start, run-and-clean-up, server-stop"> - </target> - -</project>
\ No newline at end of file + <target name="test-package"> + <parallel> + <daemons> + <ant antfile="vaadin-server.xml" inheritall="true" inheritrefs="true" target="deploy-and-start" /> + </daemons> + <sequential> + <ant antfile="vaadin-server.xml" target="wait-for-startup" /> + <antcall inheritall="true" inheritrefs="true" target="run-and-clean-up" /> + <move file="${testing.testarea}/${package.name}/war.ec" todir="../build/result" failonerror="false" /> + </sequential> + </parallel> + </target> +</project> |