[libcamera-devel] test: Ensure CameraTest tests are not run in parallel
diff mbox series

Message ID 20220119000959.2500172-1-kieran.bingham@ideasonboard.com
State Accepted
Commit 2b69ad550cfd21da67766f3d7a16cc6a31177820
Headers show
Series
  • [libcamera-devel] test: Ensure CameraTest tests are not run in parallel
Related show

Commit Message

Kieran Bingham Jan. 19, 2022, 12:09 a.m. UTC
The fence and mapped-buffer tests both use the VIMC test device and must
not be run at the same time.

Split these tests to a new group to force their isolation from running
in parallel.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 test/meson.build | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

Comments

Laurent Pinchart Jan. 19, 2022, 12:41 a.m. UTC | #1
Hi Kieran,

Thank you for the patch.

On Wed, Jan 19, 2022 at 12:09:59AM +0000, Kieran Bingham wrote:
> The fence and mapped-buffer tests both use the VIMC test device and must
> not be run at the same time.
> 
> Split these tests to a new group to force their isolation from running
> in parallel.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

I've seen occasional failures in the mapped-buffer test, thanks for
beating me to fixing it.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  test/meson.build | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/test/meson.build b/test/meson.build
> index 2c9487e203e2..fd4c5ca07c15 100644
> --- a/test/meson.build
> +++ b/test/meson.build
> @@ -39,11 +39,9 @@ internal_tests = [
>      ['event',                           'event.cpp'],
>      ['event-dispatcher',                'event-dispatcher.cpp'],
>      ['event-thread',                    'event-thread.cpp'],
> -    ['fence',                           'fence.cpp'],
>      ['file',                            'file.cpp'],
>      ['flags',                           'flags.cpp'],
>      ['hotplug-cameras',                 'hotplug-cameras.cpp'],
> -    ['mapped-buffer',                   'mapped-buffer.cpp'],
>      ['message',                         'message.cpp'],
>      ['object',                          'object.cpp'],
>      ['object-delete',                   'object-delete.cpp'],
> @@ -58,6 +56,11 @@ internal_tests = [
>      ['utils',                           'utils.cpp'],
>  ]
>  
> +internal_non_parallel_tests = [
> +    ['fence',                           'fence.cpp'],
> +    ['mapped-buffer',                   'mapped-buffer.cpp'],
> +]
> +
>  foreach t : public_tests
>      exe = executable(t[0], t[1],
>                       dependencies : libcamera_public,
> @@ -75,3 +78,12 @@ foreach t : internal_tests
>  
>      test(t[0], exe)
>  endforeach
> +
> +foreach t : internal_non_parallel_tests
> +    exe = executable(t[0], t[1],
> +                     dependencies : libcamera_private,
> +                     link_with : test_libraries,
> +                     include_directories : test_includes_internal)
> +
> +    test(t[0], exe, is_parallel : false)
> +endforeach
Jacopo Mondi Jan. 19, 2022, 8:29 a.m. UTC | #2
Hi Kieran

On Wed, Jan 19, 2022 at 12:09:59AM +0000, Kieran Bingham wrote:
> The fence and mapped-buffer tests both use the VIMC test device and must
> not be run at the same time.
>
> Split these tests to a new group to force their isolation from running
> in parallel.
>
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

Thanks, sorry, I added fences there without too much thinking

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
   j

> ---
>  test/meson.build | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/test/meson.build b/test/meson.build
> index 2c9487e203e2..fd4c5ca07c15 100644
> --- a/test/meson.build
> +++ b/test/meson.build
> @@ -39,11 +39,9 @@ internal_tests = [
>      ['event',                           'event.cpp'],
>      ['event-dispatcher',                'event-dispatcher.cpp'],
>      ['event-thread',                    'event-thread.cpp'],
> -    ['fence',                           'fence.cpp'],
>      ['file',                            'file.cpp'],
>      ['flags',                           'flags.cpp'],
>      ['hotplug-cameras',                 'hotplug-cameras.cpp'],
> -    ['mapped-buffer',                   'mapped-buffer.cpp'],
>      ['message',                         'message.cpp'],
>      ['object',                          'object.cpp'],
>      ['object-delete',                   'object-delete.cpp'],
> @@ -58,6 +56,11 @@ internal_tests = [
>      ['utils',                           'utils.cpp'],
>  ]
>
> +internal_non_parallel_tests = [
> +    ['fence',                           'fence.cpp'],
> +    ['mapped-buffer',                   'mapped-buffer.cpp'],
> +]
> +
>  foreach t : public_tests
>      exe = executable(t[0], t[1],
>                       dependencies : libcamera_public,
> @@ -75,3 +78,12 @@ foreach t : internal_tests
>
>      test(t[0], exe)
>  endforeach
> +
> +foreach t : internal_non_parallel_tests
> +    exe = executable(t[0], t[1],
> +                     dependencies : libcamera_private,
> +                     link_with : test_libraries,
> +                     include_directories : test_includes_internal)
> +
> +    test(t[0], exe, is_parallel : false)
> +endforeach
> --
> 2.32.0
>

Patch
diff mbox series

diff --git a/test/meson.build b/test/meson.build
index 2c9487e203e2..fd4c5ca07c15 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -39,11 +39,9 @@  internal_tests = [
     ['event',                           'event.cpp'],
     ['event-dispatcher',                'event-dispatcher.cpp'],
     ['event-thread',                    'event-thread.cpp'],
-    ['fence',                           'fence.cpp'],
     ['file',                            'file.cpp'],
     ['flags',                           'flags.cpp'],
     ['hotplug-cameras',                 'hotplug-cameras.cpp'],
-    ['mapped-buffer',                   'mapped-buffer.cpp'],
     ['message',                         'message.cpp'],
     ['object',                          'object.cpp'],
     ['object-delete',                   'object-delete.cpp'],
@@ -58,6 +56,11 @@  internal_tests = [
     ['utils',                           'utils.cpp'],
 ]
 
+internal_non_parallel_tests = [
+    ['fence',                           'fence.cpp'],
+    ['mapped-buffer',                   'mapped-buffer.cpp'],
+]
+
 foreach t : public_tests
     exe = executable(t[0], t[1],
                      dependencies : libcamera_public,
@@ -75,3 +78,12 @@  foreach t : internal_tests
 
     test(t[0], exe)
 endforeach
+
+foreach t : internal_non_parallel_tests
+    exe = executable(t[0], t[1],
+                     dependencies : libcamera_private,
+                     link_with : test_libraries,
+                     include_directories : test_includes_internal)
+
+    test(t[0], exe, is_parallel : false)
+endforeach