15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#!/usr/bin/python2.4
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright 2008, The Android Open Source Project
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Licensed under the Apache License, Version 2.0 (the "License");
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# you may not use this file except in compliance with the License.
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# You may obtain a copy of the License at
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#     http://www.apache.org/licenses/LICENSE-2.0
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Unless required by applicable law or agreed to in writing, software
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# distributed under the License is distributed on an "AS IS" BASIS,
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# See the License for the specific language governing permissions and
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# limitations under the License.
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)"""Defines common exception classes for this package."""
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class MsgException(Exception):
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  """Generic exception with an optional string msg."""
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  def __init__(self, msg=""):
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.msg = msg
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class WaitForResponseTimedOutError(Exception):
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  """We sent a command and had to wait too long for response."""
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class DeviceUnresponsiveError(Exception):
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  """Device is unresponsive to command."""
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class InstrumentationError(Exception):
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  """Failed to run instrumentation."""
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class AbortError(MsgException):
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  """Generic exception that indicates a fatal error has occurred and program
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  execution should be aborted."""
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class ParseError(MsgException):
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  """Raised when xml data to parse has unrecognized format."""
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
47