[libcamera-devel] [PATCH v2 06/13] py: unittests: make typechecker happy

Kieran Bingham kieran.bingham at ideasonboard.com
Tue May 17 18:51:21 CEST 2022


Quoting Laurent Pinchart (2022-05-17 17:08:25)
> Hi Tomi,
> 
> Thank you for the patch.
> 
> On Tue, May 17, 2022 at 05:33:18PM +0300, Tomi Valkeinen wrote:
> > Add some annotations and self.assertIsNotNone() calls to remove the
> > typechecker warnings.
> > 

Are pyright and typechecker external commands that we need to introduce
as part of our integration tests to verify commits now?

Aside from Laurent's question...

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
> > ---
> >  test/py/unittests.py | 12 ++++++++++--
> >  1 file changed, 10 insertions(+), 2 deletions(-)
> > 
> > diff --git a/test/py/unittests.py b/test/py/unittests.py
> > index 4c214f0a..2ea5ca35 100755
> > --- a/test/py/unittests.py
> > +++ b/test/py/unittests.py
> > @@ -10,6 +10,7 @@ import libcamera as libcam
> >  import os
> >  import selectors
> >  import time
> > +import typing
> >  import unittest
> >  import weakref
> >  
> > @@ -70,6 +71,9 @@ class SimpleTestMethods(BaseTestCase):
> >  
> >  
> >  class CameraTesterBase(BaseTestCase):
> > +    cm: typing.Any
> > +    cam: typing.Any
> > +
> >      def setUp(self):
> >          self.cm = libcam.CameraManager.singleton()
> >          self.cam = next((cam for cam in self.cm.cameras if 'platform/vimc' in cam.id), None)
> > @@ -131,6 +135,7 @@ class AllocatorTestMethods(CameraTesterBase):
> >          wr_allocator = weakref.ref(allocator)
> >  
> >          buffers = allocator.buffers(stream)
> > +        self.assertIsNotNone(buffers)
> >          buffers = None
> >  
> >          buffer = allocator.buffers(stream)[0]
> > @@ -166,6 +171,8 @@ class SimpleCaptureMethods(CameraTesterBase):
> >  
> >          streamconfig = camconfig.at(0)
> >          fmts = streamconfig.formats
> > +        self.assertIsNotNone(fmts)
> > +        fmts = None
> >  
> >          ret = cam.configure(camconfig)
> >          self.assertZero(ret)
> > @@ -225,6 +232,7 @@ class SimpleCaptureMethods(CameraTesterBase):
> >  
> >          streamconfig = camconfig.at(0)
> >          fmts = streamconfig.formats
> > +        self.assertIsNotNone(fmts)
> 
> Is there a reason why there's no fmts = None here ? Apart from that,
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 
> >  
> >          ret = cam.configure(camconfig)
> >          self.assertZero(ret)
> > @@ -348,9 +356,9 @@ if __name__ == '__main__':
> >          gc.unfreeze()
> >          gc.collect()
> >  
> > -        obs_after = get_all_objects([obs_before])
> > +        obs_after = get_all_objects([obs_before])   # type: ignore
> >  
> > -        before = create_type_count_map(obs_before)
> > +        before = create_type_count_map(obs_before)  # type: ignore
> >          after = create_type_count_map(obs_after)
> >  
> >          leaks = diff_type_count_maps(before, after)
> 
> -- 
> Regards,
> 
> Laurent Pinchart


More information about the libcamera-devel mailing list