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 13 def __eq__(self, other): 14 return (self.message == other.message 15 and self.is_infra_error == other.is_infra_error) 16 17 def __ne__(self, other): 18 return not self == other 19 20 @property 21 def is_infra_error(self): 22 """Property to indicate if error was caused by an infrastructure issue.""" 23 return self._is_infra_error 24 25