blob: 73376a1e3a55b74c0d7b807cf60f92c7ca3d41a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
<project name="Selenium Javascript Build" default="run_jsunit_tests" basedir=".">
<property name="version" value="0.2"/>
<!-- global properties -->
<property name="JSUnitHome" value="${basedir}/jsunit"/>
<property name="WebServerPort" value="8000"/> <!-- this must match the hardcoded value in tinyWebServer.py -->
<path id="JSUnitClassPath">
<fileset dir="${JSUnitHome}/java/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${JSUnitHome}/java/bin">
<include name="jsunit.jar"/>
</fileset>
</path>
<!-- Private independant targets -->
<target name="-start_web_server">
<exec executable="startWebServer.bat" spawn="true"/>
<waitfor maxwaitunit="second" maxwait="5" timeoutproperty="webserver.timeout">
<http url="http://localhost:${WebServerPort}"/>
</waitfor>
<fail message="Timed out waiting for http://localhost:${WebServerPort}" if="webserver.timeout"/>
</target>
<target name="-stop_web_server" description="Stops a web server">
<exec executable="stopWebServer.bat"/>
</target>
<target name="-execute_jsunit_tests">
<property name="JSUnitServerPort" value="8080"/>
<!-- TODO : Make this locally configurable without needing to hack build.xml -->
<property name="browserFileNames" value="c:\program files\Mozilla Firefox\firefox.exe,c:\program files\internet explorer\iexplore.exe"/>
<property name="JSUnitSuitePath" value="/tests/jsUnitSuite.html"/>
<property name="JSUnitTestRunnerPath" value="/jsunit/testRunner.html"/>
<!-- TODO: Theres a lot of moving parts here!
- The JSUnit testrunner and the tests themselves are served to the browser by the (python) webserver
- The Browser communicates with the build via a JSUnit server running on jetty
- consolidate to one webserver?
- Get runner and tests from the filesystem instead?
-->
<property name="testUrl" value="http://localhost:${WebServerPort}${JSUnitTestRunnerPath}?testPage=http://localhost:${WebServerPort}${JSUnitSuitePath}&autoRun=true&submitresults=localhost:${JSUnitServerPort}/jsunit/acceptor"/>
<junit showoutput="true" failureproperty="JSUnitTestsFailed">
<classpath refid="JSUnitClassPath"/>
<sysproperty key="browserFileNames" value="${browserFileNames}"/>
<sysproperty key="url" value="${testUrl}"/>
<sysproperty key="port" value="${JSUnitServerPort}"/>
<sysproperty key="logsDirectory" value="jsunit-logs"/>
<test name="net.jsunit.StandaloneTest"/>
</junit>
</target>
<target name="-check_for_jsunit_failure">
<fail message="One or more JSUnit Tests Failed" if="JSUnitTestsFailed"/>
</target>
<!-- Dependancy Targets -->
<target name="--run_jsunit_tests" depends=" -start_web_server, -execute_jsunit_tests, -stop_web_server, -check_for_jsunit_failure"/>
<!-- Public Targets -->
<target name="run_jsunit_tests" description="Runs selenium JSUnit tests" depends="--run_jsunit_tests"/>
<target name="dist">
<mkdir dir="dist"/>
<echo file="dist/readme.txt">Create a TestSuite.html page, and a number of test pages here. Read the docs!</echo>
<zip destfile="dist/selenium-${version}-inbrowser.zip">
<zipfileset dir="dist" prefix="tests/html">
<include name="readme.txt"/>
</zipfileset>
<fileset dir=".">
<exclude name="dist/**"/>
<exclude name="SeleneseRunner.html"/>
<exclude name="jsmock/**"/>
<exclude name="jsunit/**"/>
<exclude name="jsunit-logs/**"/>
<exclude name="tests/**"/>
<exclude name="build.xml"/>
<exclude name="**/web.xml"/>
</fileset>
</zip>
<zip destfile="dist/selenium-${version}-inbrowser-src.zip">
<fileset dir=".">
<exclude name="dist/**"/>
<include name="**"/>
</fileset>
</zip>
<delete file="dist/readme.txt"/>
</target>
<target name="publish-dist" depends="dist">
<copy todir="../../website/webapps/ROOT" file="dist/selenium-${version}-inbrowser-src.zip"/>
<copy todir="../../website/webapps/ROOT" file="dist/selenium-${version}-inbrowser.zip"/>
</target>
</project>
|