OLD | NEW |
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 # Recipe module for Skia Swarming test. | 6 # Recipe module for Skia Swarming test. |
7 | 7 |
8 | 8 |
9 DEPS = [ | 9 DEPS = [ |
10 'build/file', | 10 'build/file', |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 | 139 |
140 args.append('--config') | 140 args.append('--config') |
141 args.extend(configs) | 141 args.extend(configs) |
142 | 142 |
143 # Run tests, gms, and image decoding tests everywhere. | 143 # Run tests, gms, and image decoding tests everywhere. |
144 args.extend('--src tests gm image colorImage svg'.split(' ')) | 144 args.extend('--src tests gm image colorImage svg'.split(' ')) |
145 | 145 |
146 if 'GalaxyS' in bot: | 146 if 'GalaxyS' in bot: |
147 args.extend(('--threads', '0')) | 147 args.extend(('--threads', '0')) |
148 | 148 |
149 blacklist = [] | 149 blacklisted = [] |
| 150 def blacklist(quad): |
| 151 config, src, options, name = quad.split(' ') if type(quad) is str else quad |
| 152 if config == '_' or config in configs: |
| 153 blacklisted.extend([config, src, options, name]) |
150 | 154 |
151 # TODO: ??? | 155 # TODO: ??? |
152 blacklist.extend('f16 _ _ dstreadshuffle'.split(' ')) | 156 blacklist('f16 _ _ dstreadshuffle') |
153 blacklist.extend('f16 image _ _'.split(' ')) | 157 blacklist('f16 image _ _') |
154 blacklist.extend('srgb image _ _'.split(' ')) | 158 blacklist('srgb image _ _') |
155 blacklist.extend('gpusrgb image _ _'.split(' ')) | 159 blacklist('gpusrgb image _ _') |
156 | 160 |
157 if 'Valgrind' in bot: | 161 if 'Valgrind' in bot: |
158 # These take 18+ hours to run. | 162 # These take 18+ hours to run. |
159 blacklist.extend('pdf gm _ fontmgr_iter'.split(' ')) | 163 blacklist('pdf gm _ fontmgr_iter') |
160 blacklist.extend('pdf _ _ PANO_20121023_214540.jpg'.split(' ')) | 164 blacklist('pdf _ _ PANO_20121023_214540.jpg') |
161 blacklist.extend('pdf skp _ worldjournal'.split(' ')) | 165 blacklist('pdf skp _ worldjournal') |
162 blacklist.extend('pdf skp _ desk_baidu.skp'.split(' ')) | 166 blacklist('pdf skp _ desk_baidu.skp') |
163 blacklist.extend('pdf skp _ desk_wikipedia.skp'.split(' ')) | 167 blacklist('pdf skp _ desk_wikipedia.skp') |
164 | 168 |
165 if 'iOS' in bot: | 169 if 'iOS' in bot: |
166 blacklist.extend('gpu skp _ _ msaa skp _ _'.split(' ')) | 170 blacklist('gpu skp _ _') |
167 blacklist.extend('msaa16 gm _ tilemodesProcess'.split(' ')) | 171 blacklist('msaa skp _ _') |
| 172 blacklist('msaa16 gm _ tilemodesProcess') |
168 | 173 |
169 if 'Mac' in bot or 'iOS' in bot: | 174 if 'Mac' in bot or 'iOS' in bot: |
170 # CG fails on questionable bmps | 175 # CG fails on questionable bmps |
171 blacklist.extend('_ image gen_platf rgba32abf.bmp'.split(' ')) | 176 blacklist('_ image gen_platf rgba32abf.bmp') |
172 blacklist.extend('_ image gen_platf rgb24prof.bmp'.split(' ')) | 177 blacklist('_ image gen_platf rgb24prof.bmp') |
173 blacklist.extend('_ image gen_platf rgb24lprof.bmp'.split(' ')) | 178 blacklist('_ image gen_platf rgb24lprof.bmp') |
174 blacklist.extend('_ image gen_platf 8bpp-pixeldata-cropped.bmp'.split(' ')) | 179 blacklist('_ image gen_platf 8bpp-pixeldata-cropped.bmp') |
175 blacklist.extend('_ image gen_platf 4bpp-pixeldata-cropped.bmp'.split(' ')) | 180 blacklist('_ image gen_platf 4bpp-pixeldata-cropped.bmp') |
176 blacklist.extend('_ image gen_platf 32bpp-pixeldata-cropped.bmp'.split(' ')) | 181 blacklist('_ image gen_platf 32bpp-pixeldata-cropped.bmp') |
177 blacklist.extend('_ image gen_platf 24bpp-pixeldata-cropped.bmp'.split(' ')) | 182 blacklist('_ image gen_platf 24bpp-pixeldata-cropped.bmp') |
178 | 183 |
179 # CG has unpredictable behavior on this questionable gif | 184 # CG has unpredictable behavior on this questionable gif |
180 # It's probably using uninitialized memory | 185 # It's probably using uninitialized memory |
181 blacklist.extend('_ image gen_platf frame_larger_than_image.gif'.split(' ')) | 186 blacklist('_ image gen_platf frame_larger_than_image.gif') |
182 | 187 |
183 # WIC fails on questionable bmps | 188 # WIC fails on questionable bmps |
184 if 'Win' in bot: | 189 if 'Win' in bot: |
185 blacklist.extend('_ image gen_platf rle8-height-negative.bmp'.split(' ')) | 190 blacklist('_ image gen_platf rle8-height-negative.bmp') |
186 blacklist.extend('_ image gen_platf rle4-height-negative.bmp'.split(' ')) | 191 blacklist('_ image gen_platf rle4-height-negative.bmp') |
187 blacklist.extend('_ image gen_platf pal8os2v2.bmp'.split(' ')) | 192 blacklist('_ image gen_platf pal8os2v2.bmp') |
188 blacklist.extend('_ image gen_platf pal8os2v2-16.bmp'.split(' ')) | 193 blacklist('_ image gen_platf pal8os2v2-16.bmp') |
189 blacklist.extend('_ image gen_platf rgba32abf.bmp'.split(' ')) | 194 blacklist('_ image gen_platf rgba32abf.bmp') |
190 blacklist.extend('_ image gen_platf rgb24prof.bmp'.split(' ')) | 195 blacklist('_ image gen_platf rgb24prof.bmp') |
191 blacklist.extend('_ image gen_platf rgb24lprof.bmp'.split(' ')) | 196 blacklist('_ image gen_platf rgb24lprof.bmp') |
192 blacklist.extend('_ image gen_platf 8bpp-pixeldata-cropped.bmp'.split(' ')) | 197 blacklist('_ image gen_platf 8bpp-pixeldata-cropped.bmp') |
193 blacklist.extend('_ image gen_platf 4bpp-pixeldata-cropped.bmp'.split(' ')) | 198 blacklist('_ image gen_platf 4bpp-pixeldata-cropped.bmp') |
194 blacklist.extend('_ image gen_platf 32bpp-pixeldata-cropped.bmp'.split(' ')) | 199 blacklist('_ image gen_platf 32bpp-pixeldata-cropped.bmp') |
195 blacklist.extend('_ image gen_platf 24bpp-pixeldata-cropped.bmp'.split(' ')) | 200 blacklist('_ image gen_platf 24bpp-pixeldata-cropped.bmp') |
196 if 'x86_64' in bot and 'CPU' in bot: | 201 if 'x86_64' in bot and 'CPU' in bot: |
197 # This GM triggers a SkSmallAllocator assert. | 202 # This GM triggers a SkSmallAllocator assert. |
198 blacklist.extend('_ gm _ composeshader_bitmap'.split(' ')) | 203 blacklist('_ gm _ composeshader_bitmap') |
199 | 204 |
200 if 'Android' in bot or 'iOS' in bot: | 205 if 'Android' in bot or 'iOS' in bot: |
201 # This test crashes the N9 (perhaps because of large malloc/frees). It also | 206 # This test crashes the N9 (perhaps because of large malloc/frees). It also |
202 # is fairly slow and not platform-specific. So we just disable it on all of | 207 # is fairly slow and not platform-specific. So we just disable it on all of |
203 # Android and iOS. skia:5438 | 208 # Android and iOS. skia:5438 |
204 blacklist.extend('_ test _ GrShape'.split(' ')) | 209 blacklist('_ test _ GrShape') |
205 | 210 |
206 if 'Win8' in bot: | 211 if 'Win8' in bot: |
207 # bungeman: "Doesn't work on Windows anyway, produces unstable GMs with | 212 # bungeman: "Doesn't work on Windows anyway, produces unstable GMs with |
208 # 'Unexpected error' from DirectWrite" | 213 # 'Unexpected error' from DirectWrite" |
209 blacklist.extend('_ gm _ fontscalerdistortable'.split(' ')) | 214 blacklist('_ gm _ fontscalerdistortable') |
210 # skia:5636 | 215 # skia:5636 |
211 blacklist.extend('_ svg _ Nebraska-StateSeal.svg'.split(' ')) | 216 blacklist('_ svg _ Nebraska-StateSeal.svg') |
212 | 217 |
213 # skia:4095 | 218 # skia:4095 |
214 bad_serialize_gms = ['bleed_image', | 219 bad_serialize_gms = ['bleed_image', |
215 'c_gms', | 220 'c_gms', |
216 'colortype', | 221 'colortype', |
217 'colortype_xfermodes', | 222 'colortype_xfermodes', |
218 'drawfilter', | 223 'drawfilter', |
219 'fontmgr_bounds_0.75_0', | 224 'fontmgr_bounds_0.75_0', |
220 'fontmgr_bounds_1_-0.25', | 225 'fontmgr_bounds_1_-0.25', |
221 'fontmgr_bounds', | 226 'fontmgr_bounds', |
(...skipping 11 matching lines...) Expand all Loading... |
233 'extractalpha', | 238 'extractalpha', |
234 'filterbitmap_checkerboard_32_32_g8', | 239 'filterbitmap_checkerboard_32_32_g8', |
235 'filterbitmap_image_mandrill_64', | 240 'filterbitmap_image_mandrill_64', |
236 'shadows', | 241 'shadows', |
237 'simpleaaclip_aaclip']) | 242 'simpleaaclip_aaclip']) |
238 # skia:5595 | 243 # skia:5595 |
239 bad_serialize_gms.extend(['composeshader_bitmap', | 244 bad_serialize_gms.extend(['composeshader_bitmap', |
240 'scaled_tilemodes_npot', | 245 'scaled_tilemodes_npot', |
241 'scaled_tilemodes']) | 246 'scaled_tilemodes']) |
242 for test in bad_serialize_gms: | 247 for test in bad_serialize_gms: |
243 blacklist.extend(['serialize-8888', 'gm', '_', test]) | 248 blacklist(['serialize-8888', 'gm', '_', test]) |
244 | 249 |
245 if 'Mac' not in bot: | 250 if 'Mac' not in bot: |
246 for test in ['bleed_alpha_image', 'bleed_alpha_image_shader']: | 251 for test in ['bleed_alpha_image', 'bleed_alpha_image_shader']: |
247 blacklist.extend(['serialize-8888', 'gm', '_', test]) | 252 blacklist(['serialize-8888', 'gm', '_', test]) |
248 # It looks like we skip these only for out-of-memory concerns. | 253 # It looks like we skip these only for out-of-memory concerns. |
249 if 'Win' in bot or 'Android' in bot: | 254 if 'Win' in bot or 'Android' in bot: |
250 for test in ['verylargebitmap', 'verylarge_picture_image']: | 255 for test in ['verylargebitmap', 'verylarge_picture_image']: |
251 blacklist.extend(['serialize-8888', 'gm', '_', test]) | 256 blacklist(['serialize-8888', 'gm', '_', test]) |
252 | 257 |
253 # skia:4769 | 258 # skia:4769 |
254 for test in ['drawfilter']: | 259 for test in ['drawfilter']: |
255 blacklist.extend([ 'sp-8888', 'gm', '_', test]) | 260 blacklist([ 'sp-8888', 'gm', '_', test]) |
256 blacklist.extend([ 'pic-8888', 'gm', '_', test]) | 261 blacklist([ 'pic-8888', 'gm', '_', test]) |
257 blacklist.extend(['2ndpic-8888', 'gm', '_', test]) | 262 blacklist(['2ndpic-8888', 'gm', '_', test]) |
258 blacklist.extend([ 'lite-8888', 'gm', '_', test]) | 263 blacklist([ 'lite-8888', 'gm', '_', test]) |
259 # skia:4703 | 264 # skia:4703 |
260 for test in ['image-cacherator-from-picture', | 265 for test in ['image-cacherator-from-picture', |
261 'image-cacherator-from-raster', | 266 'image-cacherator-from-raster', |
262 'image-cacherator-from-ctable']: | 267 'image-cacherator-from-ctable']: |
263 blacklist.extend([ 'sp-8888', 'gm', '_', test]) | 268 blacklist([ 'sp-8888', 'gm', '_', test]) |
264 blacklist.extend([ 'pic-8888', 'gm', '_', test]) | 269 blacklist([ 'pic-8888', 'gm', '_', test]) |
265 blacklist.extend([ '2ndpic-8888', 'gm', '_', test]) | 270 blacklist([ '2ndpic-8888', 'gm', '_', test]) |
266 blacklist.extend(['serialize-8888', 'gm', '_', test]) | 271 blacklist(['serialize-8888', 'gm', '_', test]) |
267 | 272 |
268 # GM that requires raster-backed canvas | 273 # GM that requires raster-backed canvas |
269 for test in ['gamut']: | 274 for test in ['gamut']: |
270 blacklist.extend([ 'sp-8888', 'gm', '_', test]) | 275 blacklist([ 'sp-8888', 'gm', '_', test]) |
271 blacklist.extend([ 'pic-8888', 'gm', '_', test]) | 276 blacklist([ 'pic-8888', 'gm', '_', test]) |
272 blacklist.extend([ 'lite-8888', 'gm', '_', test]) | 277 blacklist([ 'lite-8888', 'gm', '_', test]) |
273 blacklist.extend([ '2ndpic-8888', 'gm', '_', test]) | 278 blacklist([ '2ndpic-8888', 'gm', '_', test]) |
274 blacklist.extend(['serialize-8888', 'gm', '_', test]) | 279 blacklist(['serialize-8888', 'gm', '_', test]) |
275 | 280 |
276 # Extensions for RAW images | 281 # Extensions for RAW images |
277 r = ["arw", "cr2", "dng", "nef", "nrw", "orf", "raf", "rw2", "pef", "srw", | 282 r = ["arw", "cr2", "dng", "nef", "nrw", "orf", "raf", "rw2", "pef", "srw", |
278 "ARW", "CR2", "DNG", "NEF", "NRW", "ORF", "RAF", "RW2", "PEF", "SRW"] | 283 "ARW", "CR2", "DNG", "NEF", "NRW", "ORF", "RAF", "RW2", "PEF", "SRW"] |
279 | 284 |
280 # skbug.com/4888 | 285 # skbug.com/4888 |
281 # Blacklist RAW images (and a few large PNGs) on GPU bots | 286 # Blacklist RAW images (and a few large PNGs) on GPU bots |
282 # until we can resolve failures | 287 # until we can resolve failures |
283 if 'GPU' in bot: | 288 if 'GPU' in bot: |
284 blacklist.extend('_ image _ interlaced1.png'.split(' ')) | 289 blacklist('_ image _ interlaced1.png') |
285 blacklist.extend('_ image _ interlaced2.png'.split(' ')) | 290 blacklist('_ image _ interlaced2.png') |
286 blacklist.extend('_ image _ interlaced3.png'.split(' ')) | 291 blacklist('_ image _ interlaced3.png') |
287 for raw_ext in r: | 292 for raw_ext in r: |
288 blacklist.extend(('_ image _ .%s' % raw_ext).split(' ')) | 293 blacklist('_ image _ .%s' % raw_ext) |
289 | 294 |
290 if 'Nexus9' in bot: | 295 if 'Nexus9' in bot: |
291 for raw_ext in r: | 296 for raw_ext in r: |
292 blacklist.extend(('_ image _ .%s' % raw_ext).split(' ')) | 297 blacklist('_ image _ .%s' % raw_ext) |
293 | 298 |
294 # Large image that overwhelms older Mac bots | 299 # Large image that overwhelms older Mac bots |
295 if 'MacMini4.1-GPU' in bot: | 300 if 'MacMini4.1-GPU' in bot: |
296 blacklist.extend('_ image _ abnormal.wbmp'.split(' ')) | 301 blacklist('_ image _ abnormal.wbmp') |
297 blacklist.extend(['msaa16', 'gm', '_', 'blurcircles']) | 302 blacklist(['msaa16', 'gm', '_', 'blurcircles']) |
298 | 303 |
299 match = [] | 304 match = [] |
300 if 'Valgrind' in bot: # skia:3021 | 305 if 'Valgrind' in bot: # skia:3021 |
301 match.append('~Threaded') | 306 match.append('~Threaded') |
302 | 307 |
303 if 'GalaxyS3' in bot: # skia:1699 | 308 if 'GalaxyS3' in bot: # skia:1699 |
304 match.append('~WritePixels') | 309 match.append('~WritePixels') |
305 | 310 |
306 if 'AndroidOne' in bot: # skia:4711 | 311 if 'AndroidOne' in bot: # skia:4711 |
307 match.append('~WritePixels') | 312 match.append('~WritePixels') |
308 | 313 |
309 if 'NexusPlayer' in bot: | 314 if 'NexusPlayer' in bot: |
310 match.append('~ResourceCache') | 315 match.append('~ResourceCache') |
311 | 316 |
312 if 'Nexus10' in bot: # skia:5509 | 317 if 'Nexus10' in bot: # skia:5509 |
313 match.append('~CopySurface') | 318 match.append('~CopySurface') |
314 | 319 |
315 if 'ANGLE' in bot and 'Debug' in bot: | 320 if 'ANGLE' in bot and 'Debug' in bot: |
316 match.append('~GLPrograms') # skia:4717 | 321 match.append('~GLPrograms') # skia:4717 |
317 | 322 |
318 if 'MSAN' in bot: | 323 if 'MSAN' in bot: |
319 match.extend(['~Once', '~Shared']) # Not sure what's up with these tests. | 324 match.extend(['~Once', '~Shared']) # Not sure what's up with these tests. |
320 | 325 |
321 if 'TSAN' in bot: | 326 if 'TSAN' in bot: |
322 match.extend(['~ReadWriteAlpha']) # Flaky on TSAN-covered on nvidia bots. | 327 match.extend(['~ReadWriteAlpha']) # Flaky on TSAN-covered on nvidia bots. |
323 | 328 |
324 if blacklist: | 329 if blacklisted: |
325 args.append('--blacklist') | 330 args.append('--blacklist') |
326 args.extend(blacklist) | 331 args.extend(blacklisted) |
327 | 332 |
328 if match: | 333 if match: |
329 args.append('--match') | 334 args.append('--match') |
330 args.extend(match) | 335 args.extend(match) |
331 | 336 |
332 # These bots run out of memory running RAW codec tests. Do not run them in | 337 # These bots run out of memory running RAW codec tests. Do not run them in |
333 # parallel | 338 # parallel |
334 if ('NexusPlayer' in bot or 'Nexus5' in bot or 'Nexus9' in bot | 339 if ('NexusPlayer' in bot or 'Nexus5' in bot or 'Nexus9' in bot |
335 or 'Win8-MSVC-ShuttleB' in bot): | 340 or 'Win8-MSVC-ShuttleB' in bot): |
336 args.append('--noRAW_threading') | 341 args.append('--noRAW_threading') |
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
879 api.properties( | 884 api.properties( |
880 buildername=builder, | 885 buildername=builder, |
881 mastername='client.skia', | 886 mastername='client.skia', |
882 slavename='skiabot-linux-swarm-000', | 887 slavename='skiabot-linux-swarm-000', |
883 buildnumber=5, | 888 buildnumber=5, |
884 path_config='kitchen', | 889 path_config='kitchen', |
885 swarm_out_dir='[SWARM_OUT_DIR]', | 890 swarm_out_dir='[SWARM_OUT_DIR]', |
886 revision='abc123', | 891 revision='abc123', |
887 **gerrit_kwargs) | 892 **gerrit_kwargs) |
888 ) | 893 ) |
OLD | NEW |