blob: dd9ed49661eaee1d1e515caf65f59e6db64be7a3 [file] [log] [blame]
Justin Klaassende05df42016-11-22 15:38:08 -08001# 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
Aurimas Liutikas94c21952021-08-05 14:07:36 -070012 self.message = message
Justin Klaassende05df42016-11-22 15:38:08 -080013
Justin Klaassen2091a4f2017-01-23 07:38:46 -080014 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
Justin Klaassende05df42016-11-22 15:38:08 -080021 @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