Re: [PATCH] tests/functional: fix pylint false positives for cv2 module
Marc-André Lureau <[email protected]>
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <CAJ+F1CL7VVXBa5jJKxaKQ-ZV4Yf=uoz3SSLPCcxmRH6duvnYMQ@mail.gmail.com> |
Hi On Mon, Aug 17, 2026 at 12:39 PM Thomas Huth <[email protected]> wrote: > > On 17/08/2026 09.57, Marc-André Lureau wrote: > > Hi > > > > On Mon, Aug 17, 2026 at 11:19 AM Thomas Huth <[email protected]> wrote: > >> > >> On 15/08/2026 09.24, [email protected] wrote: > >>> From: Marc-André Lureau <[email protected]> > >>> > >>> Add generated-members=cv2.* to pylintrc so pylint skips member > >>> checking on the cv2 C extension module, whose members are not > >>> visible to static analysis. > >>> > >>> Silence: > >>> 2026-08-15 10:42:08,710 - INFO: qemu-test.test_pylint Checking files in /home/elmarco/src/qemu.qom-qapi/tests/functional/arm with pylint > >>> 2026-08-15 10:42:10,941 - ERROR: qemu-test.test_pylint "/home/elmarco/src/qemu.qom-qapi/tests/functional/arm/test_integratorcp.py:83: E1101: Module 'cv2' has no 'imread' member (no-member)" > >> > >> Alex recently already sent a patch for that error here: > >> > >> https://gitlab.com/qemu-project/qemu/-/commit/dd14a21b9dc1 > >> > >> Didn't that help to silence the message in your case, too? > > > > Ah I missed that, but it doesn't help: > > > > pylint --rcfile ../tests/functional/pylintrc ../tests/functional/arm/ > > ************* Module test_integratorcp > > /home/elmarco/src/qemu.nohmp/tests/functional/arm/test_integratorcp.py:83:25: > > E1101: Module 'cv2' has no 'imread' member (no-member) > > /home/elmarco/src/qemu.nohmp/tests/functional/arm/test_integratorcp.py:84:26: > > E1101: Module 'cv2' has no 'cvtColor' member (no-member) > > /home/elmarco/src/qemu.nohmp/tests/functional/arm/test_integratorcp.py:84:55: > > E1101: Module 'cv2' has no 'COLOR_BGR2GRAY' member (no-member) > > /home/elmarco/src/qemu.nohmp/tests/functional/arm/test_integratorcp.py:85:17: > > E1101: Module 'cv2' has no 'matchTemplate' member (no-member) > > /home/elmarco/src/qemu.nohmp/tests/functional/arm/test_integratorcp.py:85:52: > > E1101: Module 'cv2' has no 'imread' member (no-member) > > /home/elmarco/src/qemu.nohmp/tests/functional/arm/test_integratorcp.py:86:35: > > E1101: Module 'cv2' has no 'TM_CCOEFF_NORMED' member (no-member) > > > > My understanding: > > > > I1101 (c-extension-no-member) - disable: silence if pylint can't > > introspect the module > > > > E1101 (no-member) - but we need to tell pylint to trust any member > > access on cv2 if it can > Ok, but could you then add it to the "disable=..." list instead, so that we > disable this for all other modules, too? ... otherwise we'll be busy adding > an entry for all other modules where this pops up in the course of time. > I see your point, but disabling "no-member" globally means pylint won't catch typos like self.naem or obj.nonexistent_method() anywhere.