Index: tools/telemetry/telemetry/core/exceptions.py |
diff --git a/tools/telemetry/telemetry/core/exceptions.py b/tools/telemetry/telemetry/core/exceptions.py |
deleted file mode 100644 |
index b16efaacfd60fdf8b608080963d0303745b5307d..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/core/exceptions.py |
+++ /dev/null |
@@ -1,156 +0,0 @@ |
-# Copyright 2013 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. |
-import logging |
-import sys |
- |
- |
-class Error(Exception): |
- """Base class for Telemetry exceptions.""" |
- |
- def __init__(self, msg=''): |
- super(Error, self).__init__(msg) |
- self._debugging_messages = [] |
- |
- def AddDebuggingMessage(self, msg): |
- """Adds a message to the description of the exception. |
- |
- Many Telemetry exceptions arise from failures in another application. These |
- failures are difficult to pinpoint. This method allows Telemetry classes to |
- append useful debugging information to the exception. This method also logs |
- information about the location from where it was called. |
- """ |
- frame = sys._getframe(1) |
- line_number = frame.f_lineno |
- file_name = frame.f_code.co_filename |
- function_name = frame.f_code.co_name |
- call_site = '%s:%s %s' % (file_name, line_number, function_name) |
- annotated_message = '(%s) %s' % (call_site, msg) |
- |
- self._debugging_messages.append(annotated_message) |
- |
- def __str__(self): |
- divider = '\n' + '*' * 80 + '\n' |
- output = super(Error, self).__str__() |
- for message in self._debugging_messages: |
- output += divider |
- output += message |
- return output |
- |
- |
-class PlatformError(Error): |
- """ Represents an exception thrown when constructing platform. """ |
- |
- |
-class TimeoutException(Error): |
- """The operation failed to complete because of a timeout. |
- |
- It is possible that waiting for a longer period of time would result in a |
- successful operation. |
- """ |
- pass |
- |
- |
-class AppCrashException(Error): |
- |
- def __init__(self, app=None, msg=''): |
- super(AppCrashException, self).__init__(msg) |
- self._msg = msg |
- self._stack_trace = [] |
- self._app_stdout = [] |
- if app: |
- try: |
- self._stack_trace = app.GetStackTrace().splitlines() |
- except Exception as err: |
- logging.error('Problem when trying to gather stack trace: %s' % err) |
- try: |
- self._app_stdout = app.GetStandardOutput().splitlines() |
- except Exception as err: |
- logging.error('Problem when trying to gather standard output: %s' % err) |
- |
- @property |
- def stack_trace(self): |
- return self._stack_trace |
- |
- def __str__(self): |
- divider = '*' * 80 |
- debug_messages = [] |
- debug_messages.append(super(AppCrashException, self).__str__()) |
- debug_messages.append('Stack Trace:') |
- debug_messages.append(divider) |
- debug_messages.extend(('\t%s' % l) for l in self._stack_trace) |
- debug_messages.append(divider) |
- debug_messages.append('Standard output:') |
- debug_messages.append(divider) |
- debug_messages.extend(('\t%s' % l) for l in self._app_stdout) |
- debug_messages.append(divider) |
- return '\n'.join(debug_messages) |
- |
- |
-class DevtoolsTargetCrashException(AppCrashException): |
- """Represents a crash of the current devtools target but not the overall app. |
- |
- This can be a tab or a WebView. In this state, the tab/WebView is |
- gone, but the underlying browser is still alive. |
- """ |
- |
- def __init__(self, app, msg='Devtools target crashed'): |
- super(DevtoolsTargetCrashException, self).__init__(app, msg) |
- |
- |
-class BrowserGoneException(AppCrashException): |
- """Represents a crash of the entire browser. |
- |
- In this state, all bets are pretty much off.""" |
- |
- def __init__(self, app, msg='Browser crashed'): |
- super(BrowserGoneException, self).__init__(app, msg) |
- |
- |
-class BrowserConnectionGoneException(BrowserGoneException): |
- """Represents a browser that still exists but cannot be reached.""" |
- |
- def __init__(self, app, msg='Browser exists but the connection is gone'): |
- super(BrowserConnectionGoneException, self).__init__(app, msg) |
- |
- |
-class ProcessGoneException(Error): |
- """Represents a process that no longer exists for an unknown reason.""" |
- |
- |
-class IntentionalException(Error): |
- """Represent an exception raised by a unittest which is not printed.""" |
- |
- |
-class InitializationError(Error): |
- |
- def __init__(self, string): |
- super(InitializationError, self).__init__(string) |
- |
- |
-class LoginException(Error): |
- pass |
- |
- |
-class EvaluateException(Error): |
- pass |
- |
- |
-class ProfilingException(Error): |
- pass |
- |
- |
-class PathMissingError(Error): |
- """ Represents an exception thrown when an expected path doesn't exist. """ |
- |
- |
-class UnknownPackageError(Error): |
- """ Represents an exception when encountering an unsupported Android APK. """ |
- |
- |
-class PackageDetectionError(Error): |
- """ Represents an error when parsing an Android APK's package. """ |
- |
- |
-class AndroidDeviceParsingError(Error): |
- """Represents an error when parsing output from an android device""" |