Justin Klaassen | de05df4 | 2016-11-22 15:38:08 -0800 | [diff] [blame] | 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 | |
| 6 | class 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 Liutikas | 94c2195 | 2021-08-05 14:07:36 -0700 | [diff] [blame] | 12 | self.message = message |
Justin Klaassen | de05df4 | 2016-11-22 15:38:08 -0800 | [diff] [blame] | 13 | |
Justin Klaassen | 2091a4f | 2017-01-23 07:38:46 -0800 | [diff] [blame] | 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 | |
Justin Klaassen | de05df4 | 2016-11-22 15:38:08 -0800 | [diff] [blame] | 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 |