OLD | NEW |
1 # | 1 # |
2 # Copyright 2015 Google Inc. | 2 # Copyright 2015 Google Inc. |
3 # | 3 # |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 # | 6 # |
7 | 7 |
8 #!/usr/bin/env python | 8 #!/usr/bin/env python |
9 | 9 |
10 usage = ''' | 10 usage = ''' |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 blacklist.extend([ '2ndpic-8888', 'gm', '_', test]) | 159 blacklist.extend([ '2ndpic-8888', 'gm', '_', test]) |
160 blacklist.extend(['serialize-8888', 'gm', '_', test]) | 160 blacklist.extend(['serialize-8888', 'gm', '_', test]) |
161 | 161 |
162 # NexusPlayer runs out of memory running RAW codec tests | 162 # NexusPlayer runs out of memory running RAW codec tests |
163 if 'NexusPlayer' in bot: | 163 if 'NexusPlayer' in bot: |
164 r = ["arw", "cr2", "dng", "nef", "nrw", "orf", "raf", "rw2", "pef", "srw", | 164 r = ["arw", "cr2", "dng", "nef", "nrw", "orf", "raf", "rw2", "pef", "srw", |
165 "ARW", "CR2", "DNG", "NEF", "NRW", "ORF", "RAF", "RW2", "PEF", "SRW"] | 165 "ARW", "CR2", "DNG", "NEF", "NRW", "ORF", "RAF", "RW2", "PEF", "SRW"] |
166 for raw_ext in r: | 166 for raw_ext in r: |
167 blacklist.extend(('_ image _ .%s' % raw_ext).split(' ')) | 167 blacklist.extend(('_ image _ .%s' % raw_ext).split(' ')) |
168 | 168 |
169 if blacklist: | |
170 args.append('--blacklist') | |
171 args.extend(blacklist) | |
172 | |
173 match = [] | 169 match = [] |
174 if 'Valgrind' in bot: # skia:3021 | 170 if 'Valgrind' in bot: # skia:3021 |
175 match.append('~Threaded') | 171 match.append('~Threaded') |
176 | 172 |
177 if 'GalaxyS3' in bot: # skia:1699 | 173 if 'GalaxyS3' in bot: # skia:1699 |
178 match.append('~WritePixels') | 174 match.append('~WritePixels') |
179 | 175 |
180 if 'AndroidOne' in bot: # skia:4711 | 176 if 'AndroidOne' in bot: # skia:4711 |
181 match.append('~WritePixels') | 177 match.append('~WritePixels') |
182 | 178 |
183 if 'NexusPlayer' in bot: | 179 if 'NexusPlayer' in bot: |
184 match.append('~ResourceCache') | 180 match.append('~ResourceCache') |
185 | 181 |
186 if 'GalaxyS4' in bot: # skia:4079 | 182 if 'GalaxyS4' in bot: # skia:4079 |
187 match.append('~imagefiltersclipped') | 183 match.append('~imagefiltersclipped') |
188 match.append('~imagefilterscropexpand') | 184 match.append('~imagefilterscropexpand') |
189 match.append('~scaled_tilemodes_npot') | 185 match.append('~scaled_tilemodes_npot') |
190 match.append('~bleed_image') # skia:4367 | 186 match.append('~bleed_image') # skia:4367 |
191 match.append('~ReadPixels') # skia:4368 | 187 match.append('~ReadPixels') # skia:4368 |
192 | 188 |
193 if 'ANGLE' in bot and 'Debug' in bot: | 189 if 'ANGLE' in bot and 'Debug' in bot: |
194 match.append('~GLPrograms') # skia:4717 | 190 match.append('~GLPrograms') # skia:4717 |
195 | 191 |
| 192 # Hacking around trying to get the MSAN bot green. |
| 193 if 'MSAN' in bot: |
| 194 # S32A_Opaque_BlitRow32_SSE4's sk_msan_assert_initialized failing on .SRW. |
| 195 r = ["arw", "cr2", "dng", "nef", "nrw", "orf", "raf", "rw2", "pef", "srw", |
| 196 "ARW", "CR2", "DNG", "NEF", "NRW", "ORF", "RAF", "RW2", "PEF", "SRW"] |
| 197 for raw_ext in r: |
| 198 blacklist.extend(('_ image _ .%s' % raw_ext).split(' ')) |
| 199 |
| 200 blacklist.extend(('_ image _ .wbmp').split(' ')) # skia:4900 |
| 201 blacklist.extend(('_ image _ .png').split(' ')) # I8 .png color tables |
| 202 blacklist.extend(('_ image _ .bmp').split(' ')) # I8 .bmp color tables |
| 203 |
| 204 match.append('~Codec') # Uninitialzied memory used in PIEX. |
| 205 match.append('~BlurLargeImage') # Bug in the GM? |
| 206 match.append('~FontMgrAndroidParser') # expat currently uninstrumented. |
| 207 |
| 208 if blacklist: |
| 209 args.append('--blacklist') |
| 210 args.extend(blacklist) |
| 211 |
196 if match: | 212 if match: |
197 args.append('--match') | 213 args.append('--match') |
198 args.extend(match) | 214 args.extend(match) |
199 | 215 |
200 return args | 216 return args |
201 cov_end = lineno() # Don't care about code coverage past here. | 217 cov_end = lineno() # Don't care about code coverage past here. |
202 | 218 |
203 | 219 |
204 def self_test(): | 220 def self_test(): |
205 import coverage # This way the bots don't need coverage.py to be installed. | 221 import coverage # This way the bots don't need coverage.py to be installed. |
206 args = {} | 222 args = {} |
207 cases = [ | 223 cases = [ |
208 'Pretend-iOS-Bot', | 224 'Pretend-iOS-Bot', |
209 'Test-Android-GCC-AndroidOne-GPU-Mali400MP2-Arm7-Release', | 225 'Test-Android-GCC-AndroidOne-GPU-Mali400MP2-Arm7-Release', |
210 'Test-Android-GCC-Nexus9-GPU-TegraK1-Arm64-Debug', | 226 'Test-Android-GCC-Nexus9-GPU-TegraK1-Arm64-Debug', |
211 'Test-Android-GCC-GalaxyS3-GPU-Mali400-Arm7-Debug', | 227 'Test-Android-GCC-GalaxyS3-GPU-Mali400-Arm7-Debug', |
212 'Test-Android-GCC-GalaxyS4-GPU-SGX544-Arm7-Release', | 228 'Test-Android-GCC-GalaxyS4-GPU-SGX544-Arm7-Release', |
213 'Test-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release', | 229 'Test-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release', |
214 'Test-Android-GCC-NexusPlayer-CPU-SSSE3-x86-Release', | 230 'Test-Android-GCC-NexusPlayer-CPU-SSSE3-x86-Release', |
215 'Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind', | 231 'Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind', |
| 232 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN', |
216 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN', | 233 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN', |
217 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind', | 234 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind', |
218 'Test-Win7-MSVC-ShuttleA-GPU-HD2000-x86-Debug-ANGLE', | 235 'Test-Win7-MSVC-ShuttleA-GPU-HD2000-x86-Debug-ANGLE', |
219 'Test-Mac10.8-Clang-MacMini4.1-CPU-SSE4-x86_64-Release', | 236 'Test-Mac10.8-Clang-MacMini4.1-CPU-SSE4-x86_64-Release', |
220 ] | 237 ] |
221 | 238 |
222 cov = coverage.coverage() | 239 cov = coverage.coverage() |
223 cov.start() | 240 cov.start() |
224 for case in cases: | 241 for case in cases: |
225 args[case] = get_args(case) | 242 args[case] = get_args(case) |
(...skipping 15 matching lines...) Expand all Loading... |
241 if len(sys.argv) == 2 and sys.argv[1] == 'test': | 258 if len(sys.argv) == 2 and sys.argv[1] == 'test': |
242 self_test() | 259 self_test() |
243 sys.exit(0) | 260 sys.exit(0) |
244 | 261 |
245 if len(sys.argv) != 3: | 262 if len(sys.argv) != 3: |
246 print usage | 263 print usage |
247 sys.exit(1) | 264 sys.exit(1) |
248 | 265 |
249 with open(sys.argv[1], 'w') as out: | 266 with open(sys.argv[1], 'w') as out: |
250 json.dump(get_args(sys.argv[2]), out) | 267 json.dump(get_args(sys.argv[2]), out) |
OLD | NEW |