Re: [PATCH] tests/functional: fix pylint false positives for cv2 module

Marc-André Lureau <[email protected]>
Newsgroups gmane.comp.emulators.qemu
Message-ID <CAMxuvaz3yrNkTnYOHtDcqGgKjW=9B-v82dGHpvSYUjzgrBYmDg@mail.gmail.com>
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

>
>   Thomas
>
>
>
> > Note: I also tried with extension-pkg-allow-list, but that didn't work
> > for some reason.
> >
> > Signed-off-by: Marc-André Lureau <[email protected]>
> > ---
> >   tests/functional/pylintrc | 6 ++++++
> >   1 file changed, 6 insertions(+)
> >
> > diff --git a/tests/functional/pylintrc b/tests/functional/pylintrc
> > index 949bea611fe4..373aabd6ca3f 100644
> > --- a/tests/functional/pylintrc
> > +++ b/tests/functional/pylintrc
> > @@ -79,6 +79,12 @@ disable=bad-inline-option,
> >           useless-suppression,
> >
> >
> > +[TYPECHECK]
> > +
> > +# cv2 is a C extension module whose members are not visible to pylint
> > +generated-members=cv2.*
> > +
> > +
> >   [SIMILARITIES]
> >
> >   # Minimum lines number of a similarity.
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.