Package Details: python-hid-parser 0.0.3-6

Git Clone URL: https://aur.archlinux.org/python-hid-parser.git (read-only, click to copy)
Package Base: python-hid-parser
Description: Typed pure Python library to parse HID report descriptors
Upstream URL: https://github.com/usb-tools/python-hid-parser
Licenses: MIT
Conflicts: solaar
Submitter: freswa
Maintainer: alllexx88
Last Packager: alllexx88
Votes: 4
Popularity: 0.029892
First Submitted: 2024-04-04 18:47 (UTC)
Last Updated: 2024-04-29 12:32 (UTC)

Latest Comments

« First ‹ Previous 1 2

vinicentus commented on 2024-04-08 10:23 (UTC) (edited on 2024-04-08 12:07 (UTC) by vinicentus)

The build still fails for me even with the patch:

Long paru install log
[vincent@vincent-laptop-arch ~]$ paru -S python-hid-parser
:: Resolving dependencies...
:: Calculating conflicts...
:: Calculating inner conflicts...

Aur (1) python-hid-parser-0.0.3-3

:: Proceed to review? [Y/n]: y

:: Downloading PKGBUILDs...
 PKGBUILDs up to date
no configuration found for python-hid-parser in /home/vincent/.customizepkg/ or /etc/customizepkg.d/
 nothing new to review
fetching devel info...
==> Making package: python-hid-parser 0.0.3-2 (mån  8. april 2024 13.21.33)
==> Retrieving sources...
  -> Found python-hid-parser-0.0.3.tar.gz
==> Validating source files with b2sums...
    python-hid-parser-0.0.3.tar.gz ... Passed
==> Making package: python-hid-parser 0.0.3-2 (mån  8. april 2024 13.21.33)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found python-hid-parser-0.0.3.tar.gz
==> Validating source files with b2sums...
    python-hid-parser-0.0.3.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting python-hid-parser-0.0.3.tar.gz with bsdtar
==> Sources are ready.
python-hid-parser-0.0.3-3: parsing pkg list...
==> Making package: python-hid-parser 0.0.3-2 (mån  8. april 2024 13.21.35)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
* Getting build dependencies for wheel...
running egg_info
creating hid_parser.egg-info
writing hid_parser.egg-info/PKG-INFO
writing dependency_links to hid_parser.egg-info/dependency_links.txt
writing requirements to hid_parser.egg-info/requires.txt
writing top-level names to hid_parser.egg-info/top_level.txt
writing manifest file 'hid_parser.egg-info/SOURCES.txt'
reading manifest file 'hid_parser.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'hid_parser.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/hid_parser
copying hid_parser/__init__.py -> build/lib/hid_parser
copying hid_parser/data.py -> build/lib/hid_parser
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/hid_parser
copying build/lib/hid_parser/__init__.py -> build/bdist.linux-x86_64/wheel/hid_parser
copying build/lib/hid_parser/data.py -> build/bdist.linux-x86_64/wheel/hid_parser
running install_egg_info
running egg_info
writing hid_parser.egg-info/PKG-INFO
writing dependency_links to hid_parser.egg-info/dependency_links.txt
writing requirements to hid_parser.egg-info/requires.txt
writing top-level names to hid_parser.egg-info/top_level.txt
reading manifest file 'hid_parser.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'hid_parser.egg-info/SOURCES.txt'
Copying hid_parser.egg-info to build/bdist.linux-x86_64/wheel/hid_parser-0.0.3-py3.11.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/hid_parser-0.0.3.dist-info/WHEEL
creating '/home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/dist/.tmp-2v03uvua/hid_parser-0.0.3-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'hid_parser/__init__.py'
adding 'hid_parser/data.py'
adding 'hid_parser-0.0.3.dist-info/LICENSE'
adding 'hid_parser-0.0.3.dist-info/METADATA'
adding 'hid_parser-0.0.3.dist-info/WHEEL'
adding 'hid_parser-0.0.3.dist-info/top_level.txt'
adding 'hid_parser-0.0.3.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built hid_parser-0.0.3-py3-none-any.whl
==> Starting check()...
============================================================================================================ test session starts =============================================================================================================
platform linux -- Python 3.11.8, pytest-8.1.1, pluggy-1.4.0
rootdir: /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3
configfile: pyproject.toml
plugins: hypothesis-6.100.0, anyio-4.3.0, typeguard-4.2.1
collected 73 items                                                                                                                                                                                                                           

tests/test_data.py ..........                                                                                                                                                                                                          [ 13%]
tests/test_items.py .....F..F                                                                                                                                                                                                          [ 26%]
tests/test_parse.py ............                                                                                                                                                                                                       [ 42%]
tests/test_print.py ..                                                                                                                                                                                                                 [ 45%]
tests/test_repr.py ....................                                                                                                                                                                                                [ 72%]
tests/test_usage.py ......                                                                                                                                                                                                             [ 80%]
tests/test_util.py ..............                                                                                                                                                                                                      [100%]

================================================================================================================== FAILURES ==================================================================================================================
________________________________________________________________________________________________________ test_variableitem_compliance ________________________________________________________________________________________________________

    def test_variableitem_compliance():
        with pytest.warns(hid_parser.HIDComplianceWarning):
            hid_parser.VariableItem(1, 2, 0, hid_parser.Usage(0x0001, 0x0001), -1, 1)

>       with pytest.warns(None):

tests/test_items.py:132: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = WarningsChecker(record=True), expected_warning = None, match_expr = None

    def __init__(
        self,
        expected_warning: Union[Type[Warning], Tuple[Type[Warning], ...]] = Warning,
        match_expr: Optional[Union[str, Pattern[str]]] = None,
        *,
        _ispytest: bool = False,
    ) -> None:
        check_ispytest(_ispytest)
        super().__init__(_ispytest=True)

        msg = "exceptions must be derived from Warning, not %s"
        if isinstance(expected_warning, tuple):
            for exc in expected_warning:
                if not issubclass(exc, Warning):
                    raise TypeError(msg % type(exc))
            expected_warning_tup = expected_warning
        elif isinstance(expected_warning, type) and issubclass(
            expected_warning, Warning
        ):
            expected_warning_tup = (expected_warning,)
        else:
>           raise TypeError(msg % type(expected_warning))
E           TypeError: exceptions must be derived from Warning, not <class 'NoneType'>

/usr/lib/python3.11/site-packages/_pytest/recwarn.py:285: TypeError
_________________________________________________________________________________________________________ test_arrayitem_compliance __________________________________________________________________________________________________________

    def test_arrayitem_compliance():
        usages = [
            hid_parser.Usage(0x0001, 0x0030),
            hid_parser.Usage(0x0001, 0x0031),
        ]

        with pytest.warns(hid_parser.HIDComplianceWarning):
            hid_parser.ArrayItem(1, 2, 0, usages, -1, 1)

>       with pytest.warns(None):

tests/test_items.py:182: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = WarningsChecker(record=True), expected_warning = None, match_expr = None

    def __init__(
        self,
        expected_warning: Union[Type[Warning], Tuple[Type[Warning], ...]] = Warning,
        match_expr: Optional[Union[str, Pattern[str]]] = None,
        *,
        _ispytest: bool = False,
    ) -> None:
        check_ispytest(_ispytest)
        super().__init__(_ispytest=True)

        msg = "exceptions must be derived from Warning, not %s"
        if isinstance(expected_warning, tuple):
            for exc in expected_warning:
                if not issubclass(exc, Warning):
                    raise TypeError(msg % type(exc))
            expected_warning_tup = expected_warning
        elif isinstance(expected_warning, type) and issubclass(
            expected_warning, Warning
        ):
            expected_warning_tup = (expected_warning,)
        else:
>           raise TypeError(msg % type(expected_warning))
E           TypeError: exceptions must be derived from Warning, not <class 'NoneType'>

/usr/lib/python3.11/site-packages/_pytest/recwarn.py:285: TypeError
============================================================================================================== warnings summary ==============================================================================================================
tests/test_items.py::test_arrayitem
tests/test_items.py::test_arrayitem_repr
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Generic Desktop Controls, usage=X) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_items.py::test_arrayitem
tests/test_items.py::test_arrayitem_repr
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Generic Desktop Controls, usage=Y) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keypad Hexadecimal) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard LeftControl) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard LeftShift) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard LeftAlt) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard Left GUI) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard RightControl) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard RightShift) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard RightAlt) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /home/vincent/.cache/paru/clone/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard Right GUI) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================================================================================================== short test summary info ===========================================================================================================
FAILED tests/test_items.py::test_variableitem_compliance - TypeError: exceptions must be derived from Warning, not <class 'NoneType'>
FAILED tests/test_items.py::test_arrayitem_compliance - TypeError: exceptions must be derived from Warning, not <class 'NoneType'>
================================================================================================= 2 failed, 71 passed, 85 warnings in 0.80s ==================================================================================================
==> ERROR: A failure occurred in check().
    Aborting...
error: failed to build 'python-hid-parser-0.0.3-3': 
error: packages failed to build: python-hid-parser-0.0.3-3
[vincent@vincent-laptop-arch ~]$

EDIT: enclose the instlall log in a spoiler so it isn't annoying to scroll past

alllexx88 commented on 2024-04-07 11:30 (UTC)

check() should work now, though I'm not 100% sure about the second half of the test fix

G4Zz0L1 commented on 2024-04-05 08:26 (UTC)

Also, you should update the PKGBUILD to have the same pkgrel as the SRCINFO, thanks.

slav commented on 2024-04-04 20:07 (UTC)

The same here:

  • Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html │ =================================================================================== short test summary info ===================================================================================│ FAILED tests/test_items.py::test_variableitem_compliance - TypeError: exceptions must be derived from Warning, not <class 'NoneType'> │ FAILED tests/test_items.py::test_arrayitem_compliance - TypeError: exceptions must be derived from Warning, not <class 'NoneType'> │ ========================================================================== 2 failed, 71 passed, 85 warnings in 0.93s ==========================================================================│ ==> ERROR: A failure occurred in check(). │ Aborting... │ -> error making: python-hid-parser-exit status 4 │ -> Failed to install the following packages. Manual intervention is required: │ python-hid-parser - exit status 4

dreieck commented on 2024-04-04 19:18 (UTC)

Note: check() fails for me:

==> Starting check()...
==================================================================== test session starts ====================================================================
platform linux -- Python 3.11.8, pytest-8.1.1, pluggy-1.4.0
Deltachat core=v1.131.4 sqlite=3.39.4 journal_mode=wal
rootdir: /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3
configfile: pyproject.toml
plugins: deltachat-1.131.4, anyio-4.3.0, typeguard-4.2.1, hypothesis-6.99.13
collected 73 items                                                                                                                                          

tests/test_data.py ..........                                                                                                                         [ 13%]
tests/test_items.py .....F..F                                                                                                                         [ 26%]
tests/test_parse.py ............                                                                                                                      [ 42%]
tests/test_print.py ..                                                                                                                                [ 45%]
tests/test_repr.py ....................                                                                                                               [ 72%]
tests/test_usage.py ......                                                                                                                            [ 80%]
tests/test_util.py ..............                                                                                                                     [100%]

========================================================================= FAILURES ==========================================================================
_______________________________________________________________ test_variableitem_compliance ________________________________________________________________

    def test_variableitem_compliance():
        with pytest.warns(hid_parser.HIDComplianceWarning):
            hid_parser.VariableItem(1, 2, 0, hid_parser.Usage(0x0001, 0x0001), -1, 1)

>       with pytest.warns(None):

tests/test_items.py:132: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = WarningsChecker(record=True), expected_warning = None, match_expr = None

    def __init__(
        self,
        expected_warning: Union[Type[Warning], Tuple[Type[Warning], ...]] = Warning,
        match_expr: Optional[Union[str, Pattern[str]]] = None,
        *,
        _ispytest: bool = False,
    ) -> None:
        check_ispytest(_ispytest)
        super().__init__(_ispytest=True)

        msg = "exceptions must be derived from Warning, not %s"
        if isinstance(expected_warning, tuple):
            for exc in expected_warning:
                if not issubclass(exc, Warning):
                    raise TypeError(msg % type(exc))
            expected_warning_tup = expected_warning
        elif isinstance(expected_warning, type) and issubclass(
            expected_warning, Warning
        ):
            expected_warning_tup = (expected_warning,)
        else:
>           raise TypeError(msg % type(expected_warning))
E           TypeError: exceptions must be derived from Warning, not <class 'NoneType'>

/usr/lib/python3.11/site-packages/_pytest/recwarn.py:285: TypeError
_________________________________________________________________ test_arrayitem_compliance _________________________________________________________________

    def test_arrayitem_compliance():
        usages = [
            hid_parser.Usage(0x0001, 0x0030),
            hid_parser.Usage(0x0001, 0x0031),
        ]

        with pytest.warns(hid_parser.HIDComplianceWarning):
            hid_parser.ArrayItem(1, 2, 0, usages, -1, 1)

>       with pytest.warns(None):

tests/test_items.py:182: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = WarningsChecker(record=True), expected_warning = None, match_expr = None

    def __init__(
        self,
        expected_warning: Union[Type[Warning], Tuple[Type[Warning], ...]] = Warning,
        match_expr: Optional[Union[str, Pattern[str]]] = None,
        *,
        _ispytest: bool = False,
    ) -> None:
        check_ispytest(_ispytest)
        super().__init__(_ispytest=True)

        msg = "exceptions must be derived from Warning, not %s"
        if isinstance(expected_warning, tuple):
            for exc in expected_warning:
                if not issubclass(exc, Warning):
                    raise TypeError(msg % type(exc))
            expected_warning_tup = expected_warning
        elif isinstance(expected_warning, type) and issubclass(
            expected_warning, Warning
        ):
            expected_warning_tup = (expected_warning,)
        else:
>           raise TypeError(msg % type(expected_warning))
E           TypeError: exceptions must be derived from Warning, not <class 'NoneType'>

/usr/lib/python3.11/site-packages/_pytest/recwarn.py:285: TypeError
===================================================================== warnings summary ======================================================================
tests/test_items.py::test_arrayitem
tests/test_items.py::test_arrayitem_repr
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Generic Desktop Controls, usage=X) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_items.py::test_arrayitem
tests/test_items.py::test_arrayitem_repr
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Generic Desktop Controls, usage=Y) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keypad Hexadecimal) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard LeftControl) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard LeftShift) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard LeftAlt) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard Left GUI) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard RightControl) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard RightShift) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard RightAlt) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

tests/test_parse.py::test_parse[rdesc1]
tests/test_parse.py::test_size[rdesc1-1-56]
tests/test_parse.py::test_size[rdesc2-2-64]
tests/test_parse.py::test_size[rdesc3-16-48]
tests/test_parse.py::test_size[rdesc4-17-152]
tests/test_parse.py::test_size[rdesc5-32-112]
tests/test_parse.py::test_size[rdesc6-33-248]
tests/test_parse.py::test_linux_hidpp_items
tests/test_print.py::test_print[rdesc_raw1-linux-hidpp-print.txt]
  /tmp/makepkg/build/python-hid-parser/src/python-hid-parser-0.0.3/hid_parser/__init__.py:373: HIDComplianceWarning: Usage(page=Keyboard/Keypad, usage=Keyboard Right GUI) has no compatible usage types with an array item
    warnings.warn(HIDComplianceWarning(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================================================== short test summary info ==================================================================
FAILED tests/test_items.py::test_variableitem_compliance - TypeError: exceptions must be derived from Warning, not <class 'NoneType'>
FAILED tests/test_items.py::test_arrayitem_compliance - TypeError: exceptions must be derived from Warning, not <class 'NoneType'>
========================================================= 2 failed, 71 passed, 85 warnings in 0.63s =========================================================
==> ERROR: A failure occurred in check().

Regards!