Index: generate_test_report.py |
diff --git a/generate_test_report.py b/generate_test_report.py |
index f5d32dbbeae36b7c215dec7c1797f695db0c786e..3ad5e1755db0bfd3e613983ed85b1566da6eae0b 100755 |
--- a/generate_test_report.py |
+++ b/generate_test_report.py |
@@ -167,6 +167,8 @@ class ReportGenerator(object): |
tests = self._results.keys() |
tests.sort() |
+ tests_with_errors = [] |
+ |
width = self.GetTestColumnWidth() |
line = ''.ljust(width + 5, '-') |
@@ -182,6 +184,8 @@ class ReportGenerator(object): |
tests_pass += 1 |
else: |
color = Color.RED |
+ tests_with_errors.append(test) |
+ |
status_entry = self._color.Color(color, status_entry) |
print test_entry + status_entry |
@@ -204,6 +208,23 @@ class ReportGenerator(object): |
pass_str = '%d/%d (%d%%)' % (tests_pass, total_tests, percent_pass) |
print 'Total PASS: ' + self._color.Color(Color.BOLD, pass_str) |
+ # Print out the client debug information for failed tests. |
+ if self._options.print_debug: |
+ for test in tests_with_errors: |
+ debug_file_regex = os.path.join(self._options.strip, test, 'debug', |
+ 'client.*.DEBUG') |
+ for path in glob.glob(debug_file_regex): |
+ try: |
+ fh = open(path) |
+ print ('\n========== DEBUG FILE %s FOR TEST %s ==============\n' % ( |
+ path, test)) |
+ print fh.read() |
+ print('\n=========== END DEBUG %s FOR TEST %s ===============\n' % ( |
+ path, test)) |
+ fh.close() |
+ except: |
+ print 'Could not open %s' % path |
+ |
def Run(self): |
"""Runs report generation.""" |
self._CollectResults() |
@@ -232,6 +253,9 @@ def main(): |
' [default: \'%default\']') |
parser.add_option('--no-strip', dest='strip', const='', action='store_const', |
help='Don\'t strip a prefix from test directory names') |
+ parser.add_option('--no-debug', dest='print_debug', action='store_false', |
+ default=True, |
+ help='Do not print out the debug log when a test fails.') |
(options, args) = parser.parse_args() |
if not args: |