|
1 # |
|
2 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 # All rights reserved. |
|
4 # This component and the accompanying materials are made available |
|
5 # under the terms of the License "Eclipse Public License v1.0" |
|
6 # which accompanies this distribution, and is available |
|
7 # at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 # |
|
9 # Initial Contributors: |
|
10 # Nokia Corporation - initial contribution. |
|
11 # |
|
12 # Contributors: |
|
13 # |
|
14 # Description: |
|
15 # |
|
16 |
|
17 from raptor_tests import SmokeTest |
|
18 |
|
19 def run(): |
|
20 t = SmokeTest() |
|
21 |
|
22 # tests for building feature variants |
|
23 t.id = "56" |
|
24 t.name = "featurevariants" |
|
25 t.usebash = True |
|
26 t.command = "sbs -b smoke_suite/test_resources/bv/bld.inf -c armv5 " + \ |
|
27 "-c armv5.test_bv_1 -c armv5.test_bv_2 -c armv5.test_bv_3 " + \ |
|
28 "--configpath=test/smoke_suite/test_resources/bv -f-" |
|
29 t.targets = [ |
|
30 # prebuilt files |
|
31 "$(EPOCROOT)/epoc32/release/armv5/udeb/dummy.lib", |
|
32 "$(EPOCROOT)/epoc32/release/armv5/urel/dummy.lib", |
|
33 "$(EPOCROOT)/epoc32/release/armv5/udeb/debfake.lib", |
|
34 "$(EPOCROOT)/epoc32/release/armv5/urel/relfake.lib", |
|
35 |
|
36 # built files |
|
37 "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll", |
|
38 "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.map", |
|
39 "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll_invariant.dll.sym", |
|
40 "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll", |
|
41 "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.map", |
|
42 "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll_invariant.dll.sym", |
|
43 |
|
44 "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll", |
|
45 "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.map", |
|
46 "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant1.dll.vmap", |
|
47 "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll", |
|
48 "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.map", |
|
49 "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createstaticdll_variant2.dll.vmap", |
|
50 "$(EPOCROOT)/epoc32/release/armv5.one/udeb/createexe_variant3.exe.vmap", |
|
51 |
|
52 "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll", |
|
53 "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.map", |
|
54 "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant1.dll.vmap", |
|
55 "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll", |
|
56 "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.map", |
|
57 "$(EPOCROOT)/epoc32/release/armv5.one/urel/createstaticdll_variant2.dll.vmap", |
|
58 "$(EPOCROOT)/epoc32/release/armv5.one/urel/createexe_variant3.exe.vmap", |
|
59 |
|
60 "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll", |
|
61 "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.map", |
|
62 "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant1.dll.vmap", |
|
63 "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll", |
|
64 "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.map", |
|
65 "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createstaticdll_variant2.dll.vmap", |
|
66 "$(EPOCROOT)/epoc32/release/armv5.two/udeb/createexe_variant3.exe.vmap", |
|
67 |
|
68 "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll", |
|
69 "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.map", |
|
70 "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant1.dll.vmap", |
|
71 "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll", |
|
72 "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.map", |
|
73 "$(EPOCROOT)/epoc32/release/armv5.two/urel/createstaticdll_variant2.dll.vmap", |
|
74 "$(EPOCROOT)/epoc32/release/armv5.two/urel/createexe_variant3.exe.vmap", |
|
75 |
|
76 "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll", |
|
77 "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.map", |
|
78 "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant1.dll.vmap", |
|
79 "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll", |
|
80 "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.map", |
|
81 "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createstaticdll_variant2.dll.vmap", |
|
82 "$(EPOCROOT)/epoc32/release/armv5.three/udeb/createexe_variant3.exe.vmap", |
|
83 |
|
84 "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll", |
|
85 "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.map", |
|
86 "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant1.dll.vmap", |
|
87 "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll", |
|
88 "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.map", |
|
89 "$(EPOCROOT)/epoc32/release/armv5.three/urel/createstaticdll_variant2.dll.vmap", |
|
90 "$(EPOCROOT)/epoc32/release/armv5.three/urel/createexe_variant3.exe.vmap", |
|
91 |
|
92 "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant.dso", |
|
93 "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_invariant{000a0000}.dso", |
|
94 "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1.dso", |
|
95 "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant1{000a0000}.dso", |
|
96 "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2.dso", |
|
97 "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll_variant2{000a0000}.dso", |
|
98 |
|
99 "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var1.rsc", |
|
100 "$(EPOCROOT)/epoc32/include/dummy_var1.rsg", |
|
101 "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var2.rsc", |
|
102 "$(EPOCROOT)/epoc32/include/dummy_var2.rsg", |
|
103 "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_var3.rsc", |
|
104 "$(EPOCROOT)/epoc32/include/dummy_var3.rsg", |
|
105 "$(EPOCROOT)/epoc32/data/z/resource/apps/dummy_inv.rsc", |
|
106 "$(EPOCROOT)/epoc32/include/dummy_inv.rsg" |
|
107 ] |
|
108 t.addbuildtargets('smoke_suite/test_resources/bv/bld.inf', [ |
|
109 "createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o", |
|
110 "createstaticdll_invariant_dll/armv5/udeb/CreateStaticDLL_invariant.o.d", |
|
111 "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant_udeb_objects.via", |
|
112 "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.def", |
|
113 "createstaticdll_invariant_dll/armv5/udeb/createstaticdll_invariant{000a0000}.dso", |
|
114 "createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o", |
|
115 "createstaticdll_invariant_dll/armv5/urel/CreateStaticDLL_invariant.o.d", |
|
116 "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant_urel_objects.via", |
|
117 "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.def", |
|
118 "createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.dso", |
|
119 |
|
120 "dummy_inv_dll/dummy_inv__resource_apps_sc.rpp", |
|
121 "dummy_inv_dll/dummy_inv__resource_apps_sc.rpp.d", |
|
122 "dummy_var1_dll/dummy_var1__resource_apps_sc.rpp", |
|
123 "dummy_var1_dll/dummy_var1__resource_apps_sc.rpp.d", |
|
124 "dummy_var2_dll/dummy_var2__resource_apps_sc.rpp", |
|
125 "dummy_var2_dll/dummy_var2__resource_apps_sc.rpp.d", |
|
126 "dummy_var3_exe/dummy_var3__resource_apps_sc.rpp", |
|
127 "dummy_var3_exe/dummy_var3__resource_apps_sc.rpp.d", |
|
128 |
|
129 |
|
130 "createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o", |
|
131 "createstaticdll_variant1_dll/armv5.one/udeb/CreateStaticDLL_variant1.o.d", |
|
132 "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1_udeb_objects.via", |
|
133 "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.def", |
|
134 "createstaticdll_variant1_dll/armv5.one/udeb/createstaticdll_variant1{000a0000}.dso", |
|
135 "createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o", |
|
136 "createstaticdll_variant1_dll/armv5.one/urel/CreateStaticDLL_variant1.o.d", |
|
137 "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1_urel_objects.via", |
|
138 "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.def", |
|
139 "createstaticdll_variant1_dll/armv5.one/urel/createstaticdll_variant1{000a0000}.dso", |
|
140 |
|
141 "createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o", |
|
142 "createstaticdll_variant2_dll/armv5.one/udeb/CreateStaticDLL_variant2.o.d", |
|
143 "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2_udeb_objects.via", |
|
144 "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.def", |
|
145 "createstaticdll_variant2_dll/armv5.one/udeb/createstaticdll_variant2{000a0000}.dso", |
|
146 "createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o", |
|
147 "createstaticdll_variant2_dll/armv5.one/urel/CreateStaticDLL_variant2.o.d", |
|
148 "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2_urel_objects.via", |
|
149 "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.def", |
|
150 "createstaticdll_variant2_dll/armv5.one/urel/createstaticdll_variant2{000a0000}.dso", |
|
151 |
|
152 "createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o", |
|
153 "createexe_variant3_exe/armv5.one/udeb/CreateEXE_variant3.o.d", |
|
154 "createexe_variant3_exe/armv5.one/udeb/createexe_variant3_udeb_objects.via", |
|
155 "createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o", |
|
156 "createexe_variant3_exe/armv5.one/urel/CreateEXE_variant3.o.d", |
|
157 "createexe_variant3_exe/armv5.one/urel/createexe_variant3_urel_objects.via", |
|
158 |
|
159 |
|
160 "createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o", |
|
161 "createstaticdll_variant1_dll/armv5.two/udeb/CreateStaticDLL_variant1.o.d", |
|
162 "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1_udeb_objects.via", |
|
163 "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.def", |
|
164 "createstaticdll_variant1_dll/armv5.two/udeb/createstaticdll_variant1{000a0000}.dso", |
|
165 "createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o", |
|
166 "createstaticdll_variant1_dll/armv5.two/urel/CreateStaticDLL_variant1.o.d", |
|
167 "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1_urel_objects.via", |
|
168 "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.def", |
|
169 "createstaticdll_variant1_dll/armv5.two/urel/createstaticdll_variant1{000a0000}.dso", |
|
170 |
|
171 "createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o", |
|
172 "createstaticdll_variant2_dll/armv5.two/udeb/CreateStaticDLL_variant2.o.d", |
|
173 "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2_udeb_objects.via", |
|
174 "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.def", |
|
175 "createstaticdll_variant2_dll/armv5.two/udeb/createstaticdll_variant2{000a0000}.dso", |
|
176 "createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o", |
|
177 "createstaticdll_variant2_dll/armv5.two/urel/CreateStaticDLL_variant2.o.d", |
|
178 "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2_urel_objects.via", |
|
179 "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.def", |
|
180 "createstaticdll_variant2_dll/armv5.two/urel/createstaticdll_variant2{000a0000}.dso", |
|
181 |
|
182 "createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o", |
|
183 "createexe_variant3_exe/armv5.two/udeb/CreateEXE_variant3.o.d", |
|
184 "createexe_variant3_exe/armv5.two/udeb/createexe_variant3_udeb_objects.via", |
|
185 "createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o", |
|
186 "createexe_variant3_exe/armv5.two/urel/CreateEXE_variant3.o.d", |
|
187 "createexe_variant3_exe/armv5.two/urel/createexe_variant3_urel_objects.via", |
|
188 |
|
189 |
|
190 "createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o", |
|
191 "createstaticdll_variant1_dll/armv5.three/udeb/CreateStaticDLL_variant1.o.d", |
|
192 "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1_udeb_objects.via", |
|
193 "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.def", |
|
194 "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1{000a0000}.dso", |
|
195 "createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o", |
|
196 "createstaticdll_variant1_dll/armv5.three/urel/CreateStaticDLL_variant1.o.d", |
|
197 "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1_urel_objects.via", |
|
198 "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.def", |
|
199 "createstaticdll_variant1_dll/armv5.three/urel/createstaticdll_variant1{000a0000}.dso", |
|
200 |
|
201 "createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o", |
|
202 "createstaticdll_variant2_dll/armv5.three/udeb/CreateStaticDLL_variant2.o.d", |
|
203 "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2_udeb_objects.via", |
|
204 "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.def", |
|
205 "createstaticdll_variant2_dll/armv5.three/udeb/createstaticdll_variant2{000a0000}.dso", |
|
206 "createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o", |
|
207 "createstaticdll_variant2_dll/armv5.three/urel/CreateStaticDLL_variant2.o.d", |
|
208 "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2_urel_objects.via", |
|
209 "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.def", |
|
210 "createstaticdll_variant2_dll/armv5.three/urel/createstaticdll_variant2{000a0000}.dso", |
|
211 |
|
212 "createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o", |
|
213 "createexe_variant3_exe/armv5.three/udeb/CreateEXE_variant3.o.d", |
|
214 "createexe_variant3_exe/armv5.three/udeb/createexe_variant3_udeb_objects.via", |
|
215 "createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o", |
|
216 "createexe_variant3_exe/armv5.three/urel/CreateEXE_variant3.o.d", |
|
217 "createexe_variant3_exe/armv5.three/urel/createexe_variant3_urel_objects.via" |
|
218 ]) |
|
219 # Test that static libs are linked from the invariant place. |
|
220 t.mustmatch = [ |
|
221 "armlink.*epoc32/release/armv5/urel/bv_static_lib.lib", |
|
222 "armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib" |
|
223 ] |
|
224 t.run() |
|
225 |
|
226 |
|
227 # tests for the createvmap script |
|
228 createvmap = "python $(SBS_HOME)/bin/createvmap.py" |
|
229 vmapfile = "$(EPOCROOT)/epoc32/build/test.vmap" |
|
230 vmap = " -o " + vmapfile |
|
231 bvcpp = " -c $(SBS_HOME)/$(HOSTPLATFORM_DIR)/bv/bin/cpp" |
|
232 if t.onWindows: |
|
233 bvcpp += ".exe" |
|
234 |
|
235 bvdata = "$(SBS_HOME)/test/smoke_suite/test_resources/bv" |
|
236 |
|
237 preinc = " -p " + bvdata + "/var1/var1.h" |
|
238 listA = " -f " + bvdata + "/listA.txt" |
|
239 listB = " -f " + bvdata + "/listB.txt" |
|
240 listC = " -f " + bvdata + "/listC.txt" |
|
241 srcWith = " -s " + bvdata + "/with_macros.cpp" |
|
242 srcWithout = " -s " + bvdata + "/without_macros.cpp" |
|
243 badSrc = " -s " + bvdata + "/with_errors.cpp" |
|
244 |
|
245 t.id = "56a" |
|
246 t.name = "createvmap exits with an error" |
|
247 t.usebash = True |
|
248 t.command = createvmap |
|
249 t.returncode = 1 |
|
250 t.targets = [] |
|
251 t.mustmatch = [] |
|
252 t.run() |
|
253 |
|
254 |
|
255 t.id = "56b" |
|
256 t.name = "createvmap shows cpp errors" |
|
257 t.usebash = True |
|
258 t.command = createvmap + vmap + bvcpp + preinc + listA + badSrc |
|
259 t.returncode = 1 |
|
260 t.targets = [] |
|
261 t.mustmatch = ["#error this code is broken"] |
|
262 t.run() |
|
263 |
|
264 |
|
265 t.id = "56c" |
|
266 t.name = "createvmap errors on missing feature list" |
|
267 t.usebash = True |
|
268 t.command = createvmap + vmap + bvcpp + preinc + listC + srcWith |
|
269 t.returncode = 1 |
|
270 t.targets = [] |
|
271 t.mustmatch = ["The feature list '.*listC.txt' does not exist"] |
|
272 t.run() |
|
273 |
|
274 |
|
275 t.id = "56d" |
|
276 t.name = "createvmap warns on featureless code" |
|
277 t.usebash = True |
|
278 t.command = createvmap + vmap + bvcpp + preinc + listA + srcWithout |
|
279 t.returncode = 0 |
|
280 t.targets = [vmapfile] |
|
281 t.mustmatch = ["warning: No feature macros were found in the source"] |
|
282 t.run() |
|
283 |
|
284 |
|
285 t.id = "56e" |
|
286 t.name = "createvmap creates the right vmap file" |
|
287 t.usebash = True |
|
288 t.command = createvmap + vmap + bvcpp + preinc + listA + listB + srcWith + srcWithout + " && cat " + vmapfile |
|
289 t.returncode = 0 |
|
290 t.targets = [vmapfile] |
|
291 t.mustmatch = ["A_1=defined", "B_1000=undefined"] |
|
292 t.run() |
|
293 |
|
294 |
|
295 # print the overall result |
|
296 t.id = "56" |
|
297 t.name = "featurevariants" |
|
298 t.print_result() |
|
299 return t |