0
|
1 |
<!-- Build file for the com.symbian.smt.gui.test plug-in PDE unit test fragment -->
|
|
2 |
<project name="com.symbian.smt.gui.test" default="help" basedir=".">
|
|
3 |
<property name="plugin.dir" location="${basedir}"/>
|
|
4 |
<property name="projects.dir" location="${basedir}/.."/>
|
|
5 |
<property file="${projects.dir}/project.properties"/>
|
|
6 |
|
|
7 |
<property name="plugin.name" value="com.symbian.smt.gui.test"/>
|
|
8 |
<property name="plugin.version" value="1.0.0"/>
|
|
9 |
<property name="plugin.under.test.version" value="1.1.1"/>
|
|
10 |
<property name="properties.plugin.under.test.version" value="1.1.1"/>
|
|
11 |
<property name="test.eclipse.dir" location="c:/opt/eclipse-for-pde-unit-tests"/>
|
|
12 |
<property name="target.dir" location="${projects.dir}/target"/>
|
|
13 |
<property name="published.plugins.dir" location="${target.dir}/plugins"/>
|
|
14 |
<property name="src.dir" location="${plugin.dir}/src"/>
|
|
15 |
<property name="test.dir" location="${plugin.dir}/src"/>
|
|
16 |
<property name="plugin.target.dir" location="${plugin.dir}/target"/>
|
|
17 |
<property name="reports.dir" location="${plugin.target.dir}/reports"/>
|
|
18 |
<property name="classes.dir" location="${plugin.target.dir}/classes"/>
|
|
19 |
<property name="test.reports.dir" location="${reports.dir}/test"/>
|
|
20 |
<property name="pde.test.utils.version" value="1.0.0"/>
|
|
21 |
|
|
22 |
<path id="build.class.path">
|
|
23 |
<pathelement location="${published.plugins.dir}/com.symbian.smt.gui_${plugin.under.test.version}.jar"/>
|
|
24 |
<fileset dir="${test.eclipse.dir}/plugins">
|
|
25 |
<include name="org.eclipse.core.runtime_*.jar"/>
|
|
26 |
<include name="org.eclipse.equinox.common_*.jar"/>
|
|
27 |
<include name="org.eclipse.ui.workbench_*.jar"/>
|
|
28 |
<include name="org.eclipse.jface_*.jar"/>
|
|
29 |
<include name="org.eclipse.swt_*.jar"/>
|
|
30 |
<include name="org.eclipse.swt.win32.win32.x86_*.jar"/>
|
|
31 |
<include name="org.junit_3*/**/junit.jar"/>
|
|
32 |
<include name="org.eclipse.equinox.preferences_3.2*.jar"/>
|
|
33 |
<include name="org.eclipse.core.resources_3.4*.jar"/>
|
|
34 |
<include name="org.eclipse.ui.ide_3.4*.jar"/>
|
|
35 |
<include name="org.eclipse.core.jobs_3.4*.jar"/>
|
|
36 |
</fileset>
|
|
37 |
</path>
|
|
38 |
|
|
39 |
<path id="pde.test.listener.class.path">
|
|
40 |
<path refid="build.class.path"/>
|
|
41 |
<pathelement location="${published.plugins.dir}/com.symbian.pde.test.utils_${pde.test.utils.version}.jar"/>
|
|
42 |
<fileset dir="${test.eclipse.dir}/plugins">
|
|
43 |
<include name="org.apache.ant_*/**/ant.jar"/>
|
|
44 |
<include name="org.apache.ant_*/**/ant-junit.jar"/>
|
|
45 |
<include name="org.eclipse.jdt.junit_*.jar"/>
|
|
46 |
<include name="org.eclipse.debug.core_*.jar"/>
|
|
47 |
<include name="org.eclipse.osgi_*.jar"/>
|
|
48 |
<include name="org.eclipse.core.resources_*.jar"/>
|
|
49 |
<include name="org.eclipse.swt_*.jar"/>
|
|
50 |
</fileset>
|
|
51 |
</path>
|
|
52 |
|
|
53 |
<path id="pde.test.port.locator.class.path">
|
|
54 |
<pathelement location="${published.plugins.dir}/com.symbian.pde.test.utils_${pde.test.utils.version}.jar"/>
|
|
55 |
<fileset dir="${test.eclipse.dir}/plugins">
|
|
56 |
<include name="org.junit_3*/**/junit.jar"/>
|
|
57 |
</fileset>
|
|
58 |
</path>
|
|
59 |
|
|
60 |
<path id="equinox.launcher.class.path">
|
|
61 |
<fileset dir="${test.eclipse.dir}/plugins">
|
|
62 |
<include name="org.eclipse.equinox.launcher_*.jar"/>
|
|
63 |
</fileset>
|
|
64 |
</path>
|
|
65 |
|
|
66 |
<target name="build">
|
|
67 |
<mkdir dir="${classes.dir}"/>
|
|
68 |
<javac srcdir="${test.dir}" destdir="${classes.dir}" debug="${debug}" deprecation="${deprecation}" classpathref="build.class.path" includeantruntime="false"/>
|
|
69 |
<antcall target="create_eclipse_plugin"/>
|
|
70 |
<copy todir="${published.plugins.dir}" file="${plugin.target.dir}/${plugin.name}_${plugin.version}.jar" overwrite="true"/>
|
|
71 |
</target>
|
|
72 |
|
|
73 |
<target name="create_eclipse_plugin">
|
|
74 |
<property file="${plugin.dir}/build.properties"/> <!-- Load bin.includes property from plugin's eclipse build.properties file -->
|
|
75 |
<delete file="${plugin.target.dir}/${plugin.name}_${plugin.version}.jar"/>
|
|
76 |
<zip destfile="${plugin.target.dir}/${plugin.name}_${plugin.version}.jar">
|
|
77 |
<zipfileset dir="." includes="${bin.includes}"/>
|
|
78 |
<zipfileset dir="${classes.dir}"/>
|
|
79 |
</zip>
|
|
80 |
</target>
|
|
81 |
|
|
82 |
<target name="test" depends="build, pde_test, generate_report, check_results"/>
|
|
83 |
|
|
84 |
<target name="pde_test">
|
|
85 |
<delete>
|
|
86 |
<fileset dir="${test.eclipse.dir}/plugins" includes="com.symbian.smt.gui*.jar"/>
|
|
87 |
<fileset dir="${test.eclipse.dir}/plugins" includes="com.symbian.pde.test.utils*.jar"/>
|
|
88 |
</delete>
|
|
89 |
|
|
90 |
<!-- Load plugin and pde tests plugin fragment into test eclipse installation -->
|
|
91 |
<copy todir="${test.eclipse.dir}/plugins" overwrite="true">
|
|
92 |
<fileset dir="${published.plugins.dir}"/>
|
|
93 |
</copy>
|
|
94 |
|
|
95 |
<delete file="pde_test_port.properties"/> <!-- properties file generated by PDETestPortLocator class in com.symbian.pde.test.utils -->
|
|
96 |
<java classname="com.symbian.pde.test.utils.PDETestPortLocator" fork="yes" classpathref="pde.test.port.locator.class.path"/>
|
|
97 |
<waitfor maxwait="10" maxwaitunit="second" checkevery="100" checkeveryunit="millisecond">
|
|
98 |
<available file="pde_test_port.properties"/>
|
|
99 |
</waitfor>
|
|
100 |
<property file="pde_test_port.properties"/>
|
|
101 |
<echo message="Using port ${pde.test.port} for listening to PDE Test run"/>
|
|
102 |
|
|
103 |
<parallel>
|
|
104 |
<daemons>
|
|
105 |
<antcall target="run_pde_test_listener"/>
|
|
106 |
</daemons>
|
|
107 |
<sequential>
|
|
108 |
<sleep seconds="5"/> <!-- Give the listener a few seconds to start up -->
|
|
109 |
<antcall target="run_pde_tests"/>
|
|
110 |
</sequential>
|
|
111 |
</parallel>
|
|
112 |
|
|
113 |
<delete>
|
|
114 |
<fileset dir="${test.eclipse.dir}/plugins" includes="com.symbian.smt.gui*.jar"/>
|
|
115 |
<fileset dir="${test.eclipse.dir}/plugins" includes="com.symbian.pde.test.utils*.jar"/>
|
|
116 |
</delete>
|
|
117 |
|
|
118 |
<mkdir dir="${test.reports.dir}"/>
|
|
119 |
<move todir="${test.reports.dir}">
|
|
120 |
<fileset dir=".">
|
|
121 |
<include name="**/TEST-*.xml"/>
|
|
122 |
</fileset>
|
|
123 |
</move>
|
|
124 |
</target>
|
|
125 |
|
|
126 |
<target name="run_pde_test_listener">
|
|
127 |
<java classname="com.symbian.pde.test.utils.PDETestResultsCollector" fork="yes" classpathref="pde.test.listener.class.path">
|
|
128 |
<arg line="${plugin.name} ${pde.test.port}"/>
|
|
129 |
</java>
|
|
130 |
</target>
|
|
131 |
|
|
132 |
<target name="run_pde_tests">
|
|
133 |
<property name="test.classes.list" value="com.symbian.smt.gui.smtwidgets.ModelControlWidgetTest"/>
|
|
134 |
<property name="test.classes.list" value="com.symbian.smt.gui.wizard.NewSMTProjectWizardTest"/>
|
|
135 |
<property name="test.classes.list" value="com.symbian.smt.gui.wizard.NewProjectWizardTabbedPropertiesTest"/>
|
|
136 |
<property name="test.classes.list" value="com.symbian.smt.gui.smtwidgets.resources.ResourceFileSelectionValidatorTest"/>
|
|
137 |
<mkdir dir="${test.reports.dir}/output/ws"/>
|
|
138 |
<java dir="${plugin.dir}" classname="org.eclipse.equinox.launcher.Main" fork="yes" classpathref="equinox.launcher.class.path">
|
|
139 |
<arg line="-application org.eclipse.pde.junit.runtime.uitestapplication -data ${test.reports.dir}/output/ws -dev bin -clean -port ${pde.test.port} -testpluginname com.symbian.smt.gui -classnames ${test.classes.list}"/>
|
|
140 |
</java>
|
|
141 |
</target>
|
|
142 |
|
|
143 |
<target name="generate_report">
|
|
144 |
<junitreport todir="${test.reports.dir}">
|
|
145 |
<fileset dir="${test.reports.dir}">
|
|
146 |
<include name="TEST-*.xml" />
|
|
147 |
</fileset>
|
|
148 |
<report todir="${test.reports.dir}" />
|
|
149 |
</junitreport>
|
|
150 |
</target>
|
|
151 |
|
|
152 |
<target name="check_results">
|
|
153 |
<loadfile srcfile="${test.reports.dir}/overview-summary.html" property="full.results.summary"/> <!-- works if you load 2 times ?? -->
|
|
154 |
<loadfile srcfile="${test.reports.dir}/overview-summary.html" property="results.summary">
|
|
155 |
<filterchain>
|
|
156 |
<headfilter lines="30" />
|
|
157 |
<linecontains>
|
|
158 |
<contains value="%</td>" />
|
|
159 |
</linecontains>
|
|
160 |
</filterchain>
|
|
161 |
</loadfile>
|
|
162 |
|
|
163 |
<condition property="tests.passed">
|
|
164 |
<contains string="${results.summary}" substring="100.00%" />
|
|
165 |
</condition>
|
|
166 |
<fail message="FAILED - some tests failed - see ${test.reports.dir}/index.html for more details" unless="tests.passed" />
|
|
167 |
<echo message="SUCCESS - all tests passed - see ${test.reports.dir}/index.html for more details" />
|
|
168 |
</target>
|
|
169 |
|
|
170 |
<target name="clean">
|
|
171 |
<delete file="pde_test_port.properties"/>
|
|
172 |
<delete dir="${plugin.dir}/bin"/>
|
|
173 |
<delete dir="${plugin.target.dir}"/>
|
|
174 |
</target>
|
|
175 |
|
|
176 |
<target name="help">
|
|
177 |
<echo>
|
|
178 |
This is the ant build file for the com.symbian.smt.gui.test PDE Tests.
|
|
179 |
|
|
180 |
Usage:
|
|
181 |
|
|
182 |
Target Description
|
|
183 |
============== ==============================================
|
|
184 |
[default] Displays this message.
|
|
185 |
|
|
186 |
build Builds the source and creates the plugin jar.
|
|
187 |
|
|
188 |
clean Cleans all the build and generated artefacts.
|
|
189 |
|
|
190 |
test Builds and runs the PDE JUnit tests and generates a report.
|
|
191 |
</echo>
|
|
192 |
</target>
|
|
193 |
|
|
194 |
</project> |