1# Copyright 2015 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5 6class BaseError(Exception): 7 """Base error for all test runner errors.""" 8 9 def __init__(self, message, is_infra_error=False): 10 super(BaseError, self).__init__(message) 11 self._is_infra_error = is_infra_error 12 self.message = message 13 14 def __eq__(self, other): 15 return (self.message == other.message 16 and self.is_infra_error == other.is_infra_error) 17 18 def __ne__(self, other): 19 return not self == other 20 21 @property 22 def is_infra_error(self): 23 """Property to indicate if error was caused by an infrastructure issue.""" 24 return self._is_infra_error 25