##// END OF EJS Templates
tests: enable pytype checking on `mercurial/interfaces` package...
tests: enable pytype checking on `mercurial/interfaces` package I might regret this, but the files currently scan OK, with the exception of one place where an `attribute-error` is now disabled. We should fix this somehow, but the rest of this package needs to be converted to Protocol classes first. I'm enabling checking on this now because I got to the tail end of the series converting this to Protocol classes, and suddenly one of the commits is causing pytype to fail with an error message that doesn't really jive with the few code changes in it. Then when I ran `pytype-single` on it to get a result faster, I got a host of other unexpected errors that were likely from earlier in the series. So first things first, strictly check the content of these files going forward.

File last commit:

r50538:e1c586b9 default
r53329:b2821a84 default
Show More
exceptions.py
92 lines | 1.9 KiB | text/x-python | PythonLexer
# SPDX-License-Identifier: MIT
class FrozenError(AttributeError):
"""
A frozen/immutable instance or attribute have been attempted to be
modified.
It mirrors the behavior of ``namedtuples`` by using the same error message
and subclassing `AttributeError`.
.. versionadded:: 20.1.0
"""
msg = "can't set attribute"
args = [msg]
class FrozenInstanceError(FrozenError):
"""
A frozen instance has been attempted to be modified.
.. versionadded:: 16.1.0
"""
class FrozenAttributeError(FrozenError):
"""
A frozen attribute has been attempted to be modified.
.. versionadded:: 20.1.0
"""
class AttrsAttributeNotFoundError(ValueError):
"""
An ``attrs`` function couldn't find an attribute that the user asked for.
.. versionadded:: 16.2.0
"""
class NotAnAttrsClassError(ValueError):
"""
A non-``attrs`` class has been passed into an ``attrs`` function.
.. versionadded:: 16.2.0
"""
class DefaultAlreadySetError(RuntimeError):
"""
A default has been set using ``attr.ib()`` and is attempted to be reset
using the decorator.
.. versionadded:: 17.1.0
"""
class UnannotatedAttributeError(RuntimeError):
"""
A class with ``auto_attribs=True`` has an ``attr.ib()`` without a type
annotation.
.. versionadded:: 17.3.0
"""
class PythonTooOldError(RuntimeError):
"""
It was attempted to use an ``attrs`` feature that requires a newer Python
version.
.. versionadded:: 18.2.0
"""
class NotCallableError(TypeError):
"""
A ``attr.ib()`` requiring a callable has been set with a value
that is not callable.
.. versionadded:: 19.2.0
"""
def __init__(self, msg, value):
super(TypeError, self).__init__(msg, value)
self.msg = msg
self.value = value
def __str__(self):
return str(self.msg)