Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: scripts/common/gtest_utils.py

Issue 2408423005: Recognize EXCESSIVE_OUTPUT gtest result (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | scripts/slave/recipe_modules/test_results/resources/test_result.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 from common import chromium_utils 6 from common import chromium_utils
7 import json 7 import json
8 import os 8 import os
9 import re 9 import re
10 import tempfile 10 import tempfile
11 11
12 12
13 # These labels should match the ones output by gtest's JSON. 13 # These labels should match the ones output by gtest's JSON.
14 TEST_UNKNOWN_LABEL = 'UNKNOWN' 14 TEST_UNKNOWN_LABEL = 'UNKNOWN'
15 TEST_SUCCESS_LABEL = 'SUCCESS' 15 TEST_SUCCESS_LABEL = 'SUCCESS'
16 TEST_FAILURE_LABEL = 'FAILURE' 16 TEST_FAILURE_LABEL = 'FAILURE'
17 TEST_FAILURE_ON_EXIT_LABEL = 'FAILURE_ON_EXIT' 17 TEST_FAILURE_ON_EXIT_LABEL = 'FAILURE_ON_EXIT'
18 TEST_EXCESSIVE_OUTPUT_LABEL = 'EXCESSIVE_OUTPUT'
18 TEST_CRASH_LABEL = 'CRASH' 19 TEST_CRASH_LABEL = 'CRASH'
19 TEST_TIMEOUT_LABEL = 'TIMEOUT' 20 TEST_TIMEOUT_LABEL = 'TIMEOUT'
20 TEST_SKIPPED_LABEL = 'SKIPPED' 21 TEST_SKIPPED_LABEL = 'SKIPPED'
21 TEST_WARNING_LABEL = 'WARNING' 22 TEST_WARNING_LABEL = 'WARNING'
22 23
23 FULL_RESULTS_FILENAME = 'full_results.json' 24 FULL_RESULTS_FILENAME = 'full_results.json'
24 TIMES_MS_FILENAME = 'times_ms.json' 25 TIMES_MS_FILENAME = 'times_ms.json'
25 26
26 def CompressList(lines, max_length, middle_replacement): 27 def CompressList(lines, max_length, middle_replacement):
27 """Ensures that |lines| is no longer than |max_length|. If |lines| need to 28 """Ensures that |lines| is no longer than |max_length|. If |lines| need to
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 461
461 self.parsing_errors = [] 462 self.parsing_errors = []
462 463
463 self.master_name = mastername 464 self.master_name = mastername
464 465
465 # List our labels that match the ones output by gtest JSON. 466 # List our labels that match the ones output by gtest JSON.
466 self.SUPPORTED_LABELS = (TEST_UNKNOWN_LABEL, 467 self.SUPPORTED_LABELS = (TEST_UNKNOWN_LABEL,
467 TEST_SUCCESS_LABEL, 468 TEST_SUCCESS_LABEL,
468 TEST_FAILURE_LABEL, 469 TEST_FAILURE_LABEL,
469 TEST_FAILURE_ON_EXIT_LABEL, 470 TEST_FAILURE_ON_EXIT_LABEL,
471 TEST_EXCESSIVE_OUTPUT_LABEL,
470 TEST_CRASH_LABEL, 472 TEST_CRASH_LABEL,
471 TEST_TIMEOUT_LABEL, 473 TEST_TIMEOUT_LABEL,
472 TEST_SKIPPED_LABEL) 474 TEST_SKIPPED_LABEL)
473 475
474 def ProcessLine(self, line): 476 def ProcessLine(self, line):
475 # Deliberately do nothing - we parse out-of-band JSON summary 477 # Deliberately do nothing - we parse out-of-band JSON summary
476 # instead of in-band stdout. 478 # instead of in-band stdout.
477 pass 479 pass
478 480
479 def PassedTests(self): 481 def PassedTests(self):
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 # info can be obtained from the original JSON output. 654 # info can be obtained from the original JSON output.
653 ascii_lines = run_data['output_snippet'].encode('ascii', 655 ascii_lines = run_data['output_snippet'].encode('ascii',
654 errors='replace') 656 errors='replace')
655 decoded_lines = CompressList( 657 decoded_lines = CompressList(
656 ascii_lines.decode('string_escape', errors='replace').split('\n'), 658 ascii_lines.decode('string_escape', errors='replace').split('\n'),
657 self.OUTPUT_SNIPPET_LINES_LIMIT, 659 self.OUTPUT_SNIPPET_LINES_LIMIT,
658 '<truncated, full output is in gzipped JSON ' 660 '<truncated, full output is in gzipped JSON '
659 'output at end of step>') 661 'output at end of step>')
660 run_lines.extend(decoded_lines) 662 run_lines.extend(decoded_lines)
661 self.test_logs[test_name].extend(run_lines) 663 self.test_logs[test_name].extend(run_lines)
OLDNEW
« no previous file with comments | « no previous file | scripts/slave/recipe_modules/test_results/resources/test_result.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698