aboutsummaryrefslogtreecommitdiff
path: root/catapult/devil/devil/base_error.py
blob: dd9ed49661eaee1d1e515caf65f59e6db64be7a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.


class BaseError(Exception):
  """Base error for all test runner errors."""

  def __init__(self, message, is_infra_error=False):
    super(BaseError, self).__init__(message)
    self._is_infra_error = is_infra_error
    self.message = message

  def __eq__(self, other):
    return (self.message == other.message
            and self.is_infra_error == other.is_infra_error)

  def __ne__(self, other):
    return not self == other

  @property
  def is_infra_error(self):
    """Property to indicate if error was caused by an infrastructure issue."""
    return self._is_infra_error