Extracts trace results from the output. Args: output: Output object from the test run. result_tracker: Result tracker to be updated. Returns: The raw extracted result value or None if an error occurred.
(self, output, result_tracker)
| 465 | raise Exception("%s cannot have child configs." % type(self).__name__) |
| 466 | |
| 467 | def ConsumeOutput(self, output, result_tracker): |
| 468 | """Extracts trace results from the output. |
| 469 | |
| 470 | Args: |
| 471 | output: Output object from the test run. |
| 472 | result_tracker: Result tracker to be updated. |
| 473 | |
| 474 | Returns: |
| 475 | The raw extracted result value or None if an error occurred. |
| 476 | """ |
| 477 | |
| 478 | if len(self.children) > 0: |
| 479 | results_for_total = [] |
| 480 | for trace in self.children: |
| 481 | result = trace.ConsumeOutput(output, result_tracker) |
| 482 | if result is not None: |
| 483 | results_for_total.append(result) |
| 484 | |
| 485 | result = None |
| 486 | stddev = None |
| 487 | |
| 488 | try: |
| 489 | result = float( |
| 490 | re.search(self.results_regexp, output.stdout, re.M).group(1)) |
| 491 | except ValueError: |
| 492 | result_tracker.AddError( |
| 493 | 'Regexp "%s" returned a non-numeric for test %s.' % |
| 494 | (self.results_regexp, self.name)) |
| 495 | except: |
| 496 | if self.results_default is not None: |
| 497 | result = float(self.results_default) |
| 498 | else: |
| 499 | result_tracker.AddError( |
| 500 | 'Regexp "%s" did not match for test %s.' % |
| 501 | (self.results_regexp, self.name)) |
| 502 | |
| 503 | try: |
| 504 | if self.stddev_regexp: |
| 505 | if result_tracker.TraceHasStdDev(self): |
| 506 | result_tracker.AddError( |
| 507 | 'Test %s should only run once since a stddev is provided by the ' |
| 508 | 'test.' % self.name) |
| 509 | stddev = re.search(self.stddev_regexp, output.stdout, re.M).group(1) |
| 510 | except: |
| 511 | result_tracker.AddError( |
| 512 | 'Regexp "%s" did not match for test %s.' % |
| 513 | (self.stddev_regexp, self.name)) |
| 514 | |
| 515 | if result is not None: |
| 516 | result_tracker.AddTraceResult(self, result, stddev) |
| 517 | return result |
| 518 | |
| 519 | |
| 520 | class TraceConfig(GraphConfig): |
nothing calls this directly
no test coverage detected