Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 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 import json | 5 import json |
| 6 import os | 6 import os |
| 7 import re | 7 import re |
| 8 import tempfile | 8 import tempfile |
| 9 | 9 |
| 10 | 10 |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 205 self._current_test = '' | 205 self._current_test = '' |
| 206 return | 206 return |
| 207 | 207 |
| 208 # Is it the start of a test? | 208 # Is it the start of a test? |
| 209 results = self._test_start.match(line) | 209 results = self._test_start.match(line) |
| 210 if results: | 210 if results: |
| 211 if self._current_test: | 211 if self._current_test: |
| 212 if self._test_status[self._current_test][0] == 'started': | 212 if self._test_status[self._current_test][0] == 'started': |
| 213 self._test_status[self._current_test] = ( | 213 self._test_status[self._current_test] = ( |
| 214 'timeout', self._failure_description) | 214 'timeout', self._failure_description) |
| 215 test_name = '%s.%s' % (results.group(1), results.group(2)) | 215 test_name = '%s.%s' % (results.group(1), results.group(2)) |
|
smut
2017/04/07 21:52:00
Update slash here.
huangml1
2017/04/07 22:29:20
Done.
| |
| 216 self._test_status[test_name] = ('started', ['Did not complete.']) | 216 self._test_status[test_name] = ('started', ['Did not complete.']) |
| 217 self._current_test = test_name | 217 self._current_test = test_name |
| 218 if self.retrying_failed: | 218 if self.retrying_failed: |
| 219 self._failure_description = self._test_status[test_name][1] | 219 self._failure_description = self._test_status[test_name][1] |
| 220 self._failure_description.extend(['', 'RETRY OUTPUT:', '']) | 220 self._failure_description.extend(['', 'RETRY OUTPUT:', '']) |
| 221 else: | 221 else: |
| 222 self._failure_description = [] | 222 self._failure_description = [] |
| 223 return | 223 return |
| 224 | 224 |
| 225 # Is it a test success line? | 225 # Is it a test success line? |
| 226 results = self._test_ok.match(line) | 226 results = self._test_ok.match(line) |
| 227 if results: | 227 if results: |
| 228 test_name = '%s.%s' % (results.group(1), results.group(2)) | 228 test_name = '%s.%s' % (results.group(1), results.group(2)) |
|
smut
2017/04/07 21:52:00
Also update slash here.
huangml1
2017/04/07 22:29:20
Done.
| |
| 229 status = self._StatusOfTest(test_name) | 229 status = self._StatusOfTest(test_name) |
| 230 if status != 'started': | 230 if status != 'started': |
| 231 self._RecordError(line, 'success while in status %s' % status) | 231 self._RecordError(line, 'success while in status %s' % status) |
| 232 if self.retrying_failed: | 232 if self.retrying_failed: |
| 233 self._test_status[test_name] = ('warning', self._failure_description) | 233 self._test_status[test_name] = ('warning', self._failure_description) |
| 234 else: | 234 else: |
| 235 self._test_status[test_name] = ('OK', []) | 235 self._test_status[test_name] = ('OK', []) |
| 236 self._failure_description = [] | 236 self._failure_description = [] |
| 237 self._current_test = '' | 237 self._current_test = '' |
| 238 return | 238 return |
| 239 | 239 |
| 240 # Is it a test failure line? | 240 # Is it a test failure line? |
| 241 results = self._test_fail.match(line) | 241 results = self._test_fail.match(line) |
| 242 if results: | 242 if results: |
| 243 test_name = '%s.%s' % (results.group(1), results.group(2)) | 243 test_name = '%s/%s' % (results.group(1), results.group(2)) |
| 244 status = self._StatusOfTest(test_name) | 244 status = self._StatusOfTest(test_name) |
| 245 if status not in ('started', 'failed', 'timeout'): | 245 if status not in ('started', 'failed', 'timeout'): |
| 246 self._RecordError(line, 'failure while in status %s' % status) | 246 self._RecordError(line, 'failure while in status %s' % status) |
| 247 # Don't overwrite the failure description when a failing test is listed a | 247 # Don't overwrite the failure description when a failing test is listed a |
| 248 # second time in the summary, or if it was already recorded as timing | 248 # second time in the summary, or if it was already recorded as timing |
| 249 # out. | 249 # out. |
| 250 if status not in ('failed', 'timeout'): | 250 if status not in ('failed', 'timeout'): |
| 251 self._test_status[test_name] = ('failed', self._failure_description) | 251 self._test_status[test_name] = ('failed', self._failure_description) |
| 252 self._failure_description = [] | 252 self._failure_description = [] |
| 253 self._current_test = '' | 253 self._current_test = '' |
| 254 return | 254 return |
| 255 | 255 |
| 256 # Is it the start of the retry tests? | 256 # Is it the start of the retry tests? |
| 257 results = self._retry_message.match(line) | 257 results = self._retry_message.match(line) |
| 258 if results: | 258 if results: |
| 259 self.retrying_failed = True | 259 self.retrying_failed = True |
| 260 return | 260 return |
| 261 | 261 |
| 262 # Random line: if we're in a test, collect it for the failure description. | 262 # Random line: if we're in a test, collect it for the failure description. |
| 263 # Tests may run simultaneously, so this might be off, but it's worth a try. | 263 # Tests may run simultaneously, so this might be off, but it's worth a try. |
| 264 # This also won't work if a test times out before it begins running. | 264 # This also won't work if a test times out before it begins running. |
| 265 if self._current_test: | 265 if self._current_test: |
| 266 self._failure_description.append(line) | 266 self._failure_description.append(line) |
| OLD | NEW |