<project name="user" default="build" basedir="."> | |
<property name="gwt.root" location=".." /> | |
<property name="project.tail" value="user" /> | |
<import file="${gwt.root}/common.ant.xml" /> | |
<!-- | |
Default hosted mode test cases | |
--> | |
<fileset id="default.hosted.tests" dir="${javac.junit.out}"> | |
<!-- | |
Causes a security dialog to popup and subsequently blocks testing | |
--> | |
<exclude name="com/google/gwt/user/client/ui/FormPanelTest.class" /> | |
<!-- | |
Need to confirm with JGW if this should still be disabled | |
--> | |
<exclude name="com/google/gwt/user/client/ui/HistoryTest.class" /> | |
<include name="**/*Test.class" /> | |
</fileset> | |
<!-- | |
Default web mode test cases | |
--> | |
<fileset id="default.web.tests" dir="${javac.junit.out}"> | |
<!-- | |
Need to confirm with JGW if this should still be disabled | |
--> | |
<exclude name="com/google/gwt/user/client/ui/HistoryTest.class" /> | |
<!-- | |
Safari Failures: | |
Testcase: testFunctionCaching took 0.112 sec | |
Caused an ERROR | |
JavaScript RangeError exception: Maximum call stack size exceeded. | |
com.google.gwt.core.client.JavaScriptException: JavaScript RangeError exception: Maximum call stack size exceeded. | |
Linux Web Mode Failures: | |
Testcase: testFunctionCaching took 1.004 sec | |
Caused an ERROR | |
JavaScript InternalError exception: too much recursion | |
com.google.gwt.core.client.JavaScriptException: JavaScript InternalError exception: too much recursion | |
--> | |
<exclude name="com/google/gwt/dev/jjs/test/HostedTest.class" /> | |
<!-- | |
Safari Failures: | |
Testcase: testRecursion took 1.003 sec | |
Caused an ERROR | |
JavaScript RangeError exception: Maximum call stack size exceeded. | |
com.google.gwt.core.client.JavaScriptException: JavaScript RangeError exception: Maximum call stack size exceeded. | |
--> | |
<exclude name="com/google/gwt/dev/jjs/test/MethodCallTest.class" /> | |
<!-- | |
Safari Failures: | |
Testcase: testJso took 1.005 sec | |
Caused an ERROR | |
JavaScript RangeError exception: Maximum call stack size exceeded. | |
com.google.gwt.core.client.JavaScriptException: JavaScript RangeError exception: Maximum call stack size exceeded. | |
--> | |
<exclude name="com/google/gwt/dev/jjs/test/MiscellaneousTest.class" /> | |
<include name="**/*Test.class" /> | |
</fileset> | |
<!-- Platform shouldn't matter here, just picking one --> | |
<property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev-linux.jar" /> | |
<target name="compile" description="Compile all class files"> | |
<mkdir dir="${javac.out}" /> | |
<gwt.javac> | |
<classpath> | |
<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" /> | |
<pathelement location="${gwt.dev.jar}" /> | |
</classpath> | |
</gwt.javac> | |
<!-- Build the BrowserManagerServer_Stub to allow remote browser testing --> | |
<rmic base="${javac.out}" classname="com.google.gwt.junit.remote.BrowserManagerServer"> | |
<compilerarg value="-v1.2"/> | |
</rmic> | |
</target> | |
<target name="compile.tests" | |
description="Compiles the test code for this project"> | |
<mkdir dir="${javac.junit.out}" /> | |
<gwt.javac srcdir="test" destdir="${javac.junit.out}"> | |
<classpath> | |
<pathelement location="${javac.out}" /> | |
<pathelement location="${gwt.dev.staging.jar}" /> | |
</classpath> | |
</gwt.javac> | |
</target> | |
<target name="build" depends="compile" description="Build and package this project"> | |
<mkdir dir="${gwt.build.lib}" /> | |
<gwt.jar> | |
<fileset dir="src" /> | |
<fileset dir="super" /> | |
<fileset dir="${javac.out}" /> | |
</gwt.jar> | |
</target> | |
<target name="checkstyle" description="Static analysis of source"> | |
<gwt.checkstyle> | |
<fileset dir="super/com/google/gwt/emul" /> | |
<fileset dir="super/com/google/gwt/junit/translatable" /> | |
</gwt.checkstyle> | |
</target> | |
<target name="remoteweb-test" | |
description="Run a remoteweb test at the given host and path"> | |
<echo message="Performing remote browser testing at rmi://${gwt.remote.browser}" /> | |
<gwt.junit test.args="-port ${gwt.junit.port} -out www -web -remoteweb rmi://${gwt.remote.browser}" | |
test.out="${junit.out}/${gwt.remote.browser}" | |
test.cases="default.web.tests" /> | |
</target> | |
<target name="test" | |
depends="compile, compile.tests" | |
description="Run hosted-mode, web-mode and remoteweb tests for this project."> | |
<property.ensure name="distro.built" | |
location="${gwt.dev.staging.jar}" | |
message="GWT must be built before performing any tests. This can be fixed by running ant in the ${gwt.root} directory." /> | |
<!-- | |
Run hosted and web mode tests for the platform on which this build | |
is executing | |
--> | |
<parallel threadcount="1"> | |
<gwt.junit test.args="-port ${gwt.junit.port}" | |
test.out="${junit.out}/${build.host.platform}-hosted-mode" | |
test.cases="default.hosted.tests" /> | |
<gwt.junit test.args="-port ${gwt.junit.port} -out www -web" | |
test.out="${junit.out}/${build.host.platform}-web-mode" | |
test.cases="default.web.tests" /> | |
<!-- | |
Run remote browser testing for the comma delimited list of remote browsers | |
--> | |
<foreach list="${gwt.remote.browsers}" | |
delimiter="," | |
parallel="true" | |
maxThreads="1" | |
target="remoteweb-test" | |
param="gwt.remote.browser" /> | |
</parallel> | |
</target> | |
<target name="clean" description="Cleans this project's intermediate and output files"> | |
<delete dir="${project.build}" /> | |
<delete file="${project.lib}" /> | |
</target> | |
</project> |