fixed mypy and pytest errors

This commit is contained in:
Tim Rid 2021-01-02 17:54:52 +01:00
parent a17f62bf0e
commit aa453f29a7
3 changed files with 8 additions and 5 deletions

View file

@ -25,14 +25,14 @@ class EnumBase(enum.IntEnum):
@classmethod
def _create_pseudo_member_(cls, value: int) -> "EnumBase":
pseudo_member = cls._value2member_map_.get(value, None)
pseudo_member = cls._value2member_map_.get(value, None) # type: ignore
if pseudo_member is None:
new_member = int.__new__(cls, value)
new_member = int.__new__(cls, value) # type: ignore
# I expect a name attribute to hold a string, hence str(value)
# However, new_member._name_ = value works, too
new_member._name_ = str(value)
new_member._value_ = value
pseudo_member = cls._value2member_map_.setdefault(value, new_member)
pseudo_member = cls._value2member_map_.setdefault(value, new_member) # type: ignore
return pseudo_member # type: ignore
EnumType = t.TypeVar("EnumType", bound=EnumBase)

View file

@ -6,6 +6,7 @@ import construct_typed as cst
Buffer = t.Union[bytes, memoryview, bytearray]
ParsedType = t.TypeVar("ParsedType")
BuildTypes = t.TypeVar("BuildTypes")
ContainerType = t.TypeVar("ContainerType", bound=cst.TContainerBase)
T = t.TypeVar("T")
IdentType = t.TypeVar("IdentType")
@ -19,9 +20,9 @@ def raises(
) -> t.Union[t.Any, Exception]: ...
@t.overload
def common(
format: cst.TStruct[ParsedType],
format: cst.TStruct[ContainerType],
datasample: Buffer,
objsample: t.Union[ParsedType, t.Dict[str, t.Any]],
objsample: t.Union[ContainerType, t.Dict[str, t.Any]],
sizesample: t.Union[int, t.Type[Exception]] = ...,
**kw: t.Any
) -> None: ...

View file

@ -6,6 +6,7 @@ import typing as t
import construct as cs
import construct_typed as cst
import pytest
from .declarativeunittest import common, raises, setattrs
@ -227,6 +228,7 @@ def test_tstruct_wrong_container() -> None:
)
@pytest.mark.xfail(reason="not implemented yet")
def test_tbitstruct() -> None:
assert False