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 |
| 12 | |
Justin Klaassen | 2091a4f | 2017-01-23 07:38:46 -0800 | [diff] [blame^] | 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 | |
Justin Klaassen | de05df4 | 2016-11-22 15:38:08 -0800 | [diff] [blame] | 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 | |