1"""
2Digress errors.
3"""
4
5class DigressError(Exception):
6    """
7    Digress error base class.
8    """
9
10class NoSuchTestError(DigressError):
11    """
12    Raised when no such test exists.
13    """
14
15class DisabledTestError(DigressError):
16    """
17    Test is disabled.
18    """
19
20class SkippedTestError(DigressError):
21    """
22    Test is marked as skipped.
23    """
24
25class DisabledCaseError(DigressError):
26    """
27    Case is marked as disabled.
28    """
29
30class SkippedCaseError(DigressError):
31    """
32    Case is marked as skipped.
33    """
34
35class FailedTestError(DigressError):
36    """
37    Test failed.
38    """
39
40class ComparisonError(DigressError):
41    """
42    Comparison failed.
43    """
44
45class IncomparableError(DigressError):
46    """
47    Values cannot be compared.
48    """
49
50class AlreadyRunError(DigressError):
51    """
52    Test/case has already been run.
53    """
54
55class SCMError(DigressError):
56    """
57    Error occurred in SCM.
58    """
59    def __init__(self, message):
60        self.message = message.replace("\n", " ")
61
62    def __str__(self):
63        return self.message
64