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

Unified Diff: tools/telemetry/telemetry/internal/util/exception_formatter.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/internal/util/exception_formatter.py
diff --git a/tools/telemetry/telemetry/internal/util/exception_formatter.py b/tools/telemetry/telemetry/internal/util/exception_formatter.py
deleted file mode 100644
index 5c3f86e738e74679b973870331916dc62a00069c..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/util/exception_formatter.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Print prettier and more detailed exceptions."""
-
-import logging
-import math
-import os
-import sys
-import traceback
-
-from telemetry.core import exceptions
-from telemetry.core import util
-
-
-def PrintFormattedException(exception_class=None, exception=None, tb=None,
- msg=None):
- logging.info('Try printing formatted exception: %s %s %s' %
- (exception_class, exception, tb))
- assert bool(exception_class) == bool(exception) == bool(tb), (
- 'Must specify all or none of exception_class, exception, and tb')
-
- if not exception_class:
- exception_class, exception, tb = sys.exc_info()
-
- if exception_class == exceptions.IntentionalException:
- return
-
- def _GetFinalFrame(tb_level):
- while tb_level.tb_next:
- tb_level = tb_level.tb_next
- return tb_level.tb_frame
-
- processed_tb = traceback.extract_tb(tb)
- frame = _GetFinalFrame(tb)
- exception_list = traceback.format_exception_only(exception_class, exception)
- exception_string = '\n'.join(l.strip() for l in exception_list)
-
- if msg:
- print >> sys.stderr
- print >> sys.stderr, msg
-
- _PrintFormattedTrace(processed_tb, frame, exception_string)
-
-
-def PrintFormattedFrame(frame, exception_string=None):
- _PrintFormattedTrace(traceback.extract_stack(frame), frame, exception_string)
-
-
-def _PrintFormattedTrace(processed_tb, frame, exception_string=None):
- """Prints an Exception in a more useful format than the default.
-
- TODO(tonyg): Consider further enhancements. For instance:
- - Report stacks to maintainers like depot_tools does.
- - Add a debug flag to automatically start pdb upon exception.
- """
- print >> sys.stderr
-
- # Format the traceback.
- base_dir = os.path.abspath(util.GetChromiumSrcDir())
- print >> sys.stderr, 'Traceback (most recent call last):'
- for filename, line, function, text in processed_tb:
- filename = os.path.abspath(filename)
- if filename.startswith(base_dir):
- filename = filename[len(base_dir)+1:]
- print >> sys.stderr, ' %s at %s:%d' % (function, filename, line)
- print >> sys.stderr, ' %s' % text
-
- # Format the exception.
- if exception_string:
- print >> sys.stderr, exception_string
-
- # Format the locals.
- local_variables = [(variable, value) for variable, value in
- frame.f_locals.iteritems() if variable != 'self']
- print >> sys.stderr
- print >> sys.stderr, 'Locals:'
- if local_variables:
- longest_variable = max(len(v) for v, _ in local_variables)
- for variable, value in sorted(local_variables):
- value = repr(value)
- possibly_truncated_value = _AbbreviateMiddleOfString(value, ' ... ', 1024)
- truncation_indication = ''
- if len(possibly_truncated_value) != len(value):
- truncation_indication = ' (truncated)'
- print >> sys.stderr, ' %s: %s%s' % (variable.ljust(longest_variable + 1),
- possibly_truncated_value,
- truncation_indication)
- else:
- print >> sys.stderr, ' No locals!'
-
- print >> sys.stderr
- sys.stderr.flush()
-
-
-def _AbbreviateMiddleOfString(target, middle, max_length):
- if max_length < 0:
- raise ValueError('Must provide positive max_length')
- if len(middle) > max_length:
- raise ValueError('middle must not be greater than max_length')
-
- if len(target) <= max_length:
- return target
- half_length = (max_length - len(middle)) / 2.
- return (target[:int(math.floor(half_length))] + middle +
- target[-int(math.ceil(half_length)):])

Powered by Google App Engine
This is Rietveld 408576698