[libcamera-devel] [PATCH v3 17/30] py: unittests: Fix test_sleep()
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri May 27 21:06:42 CEST 2022
Hi Tomi,
Thank you for the patch.
On Fri, May 27, 2022 at 05:44:34PM +0300, Tomi Valkeinen wrote:
> Waiting for 0.5 secs and expecting that the requests have been completed
> is... bad. Fix the test case by using cam.read_event() as a blocking
> wait, and wait until we have received all the requests that we queued.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> test/py/unittests.py | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/test/py/unittests.py b/test/py/unittests.py
> index 426efb06..45b35223 100755
> --- a/test/py/unittests.py
> +++ b/test/py/unittests.py
> @@ -161,7 +161,7 @@ class AllocatorTestMethods(CameraTesterBase):
>
>
> class SimpleCaptureMethods(CameraTesterBase):
> - def test_sleep(self):
> + def test_blocking(self):
> cm = self.cm
> cam = self.cam
>
> @@ -207,11 +207,17 @@ class SimpleCaptureMethods(CameraTesterBase):
> reqs = None
> gc.collect()
>
> - time.sleep(0.5)
> + reqs = []
>
> - reqs = cm.get_ready_requests()
> + while True:
> + cm.read_event()
>
> - self.assertTrue(len(reqs) == num_bufs)
> + ready_reqs = cm.get_ready_requests()
> +
> + reqs += ready_reqs
> +
> + if len(reqs) == num_bufs:
> + break
>
> for i, req in enumerate(reqs):
> self.assertTrue(i == req.cookie)
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list