[libcamera-devel] meson: Enable vimc IPA for tests
diff mbox series

Message ID 20220914105859.124524-1-umang.jain@ideasonboard.com
State Accepted
Headers show
Series
  • [libcamera-devel] meson: Enable vimc IPA for tests
Related show

Commit Message

Umang Jain Sept. 14, 2022, 10:58 a.m. UTC
Vimc pipeline handler is enabled unconditionally if the meson config
option '-Dtest' is true. However, this is not true for the vimc IPA.
Hence, a meson configuration such as:

    -Dpipelines=raspberrypi -Dipas=raspberrypi -Dtest=true

will include the vimc pipeline handler (in addition to raspberrypi)
but will skip the vimc IPA which can lead to failure of unit tests
that depends on vimc to execute.

One such unit test was identified as a result of this issue on
RaspberryPi:

ERROR IPAModule ipa_module.cpp:278 ipa_vimc.so: Failed to open IPA library: No such file or directory
test IPA module src/ipa/vimc/ipa_vimc.so is invalid

due to the non-existent ipa_vimc.so.

Fix this by including the vimc IPA unconditionally when the tests are
enabled, similar to how the vim pipeline-handler is included.

Fixes: 6e65d4225736 ("libcamera: Enable vimc pipeline handler when tests are enabled")
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
---
 src/ipa/meson.build | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Nicolas Dufresne via libcamera-devel Sept. 15, 2022, 12:59 a.m. UTC | #1
On Wed, Sep 14, 2022 at 04:28:59PM +0530, Umang Jain via libcamera-devel wrote:
> Vimc pipeline handler is enabled unconditionally if the meson config
> option '-Dtest' is true. However, this is not true for the vimc IPA.
> Hence, a meson configuration such as:
> 
>     -Dpipelines=raspberrypi -Dipas=raspberrypi -Dtest=true
> 
> will include the vimc pipeline handler (in addition to raspberrypi)
> but will skip the vimc IPA which can lead to failure of unit tests
> that depends on vimc to execute.
> 
> One such unit test was identified as a result of this issue on
> RaspberryPi:
> 
> ERROR IPAModule ipa_module.cpp:278 ipa_vimc.so: Failed to open IPA library: No such file or directory
> test IPA module src/ipa/vimc/ipa_vimc.so is invalid
> 
> due to the non-existent ipa_vimc.so.
> 
> Fix this by including the vimc IPA unconditionally when the tests are
> enabled, similar to how the vim pipeline-handler is included.
> 
> Fixes: 6e65d4225736 ("libcamera: Enable vimc pipeline handler when tests are enabled")
> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>

> ---
>  src/ipa/meson.build | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/src/ipa/meson.build b/src/ipa/meson.build
> index 849bb372..e972bbe8 100644
> --- a/src/ipa/meson.build
> +++ b/src/ipa/meson.build
> @@ -27,6 +27,14 @@ ipa_sign = files('ipa-sign.sh')
>  ipa_names = []
>  
>  ipa_modules = get_option('ipas')
> +
> +# Tests require the vimc IPA, similar to vimc pipline-handler for their
> +# execution. Include it automatically when tests are enabled.
> +if get_option('test') and 'vimc' not in ipa_modules
> +  message('Enabling vimc IPA to support tests')
> +  ipa_modules += ['vimc']
> +endif
> +
>  enabled_ipa_modules = []
>  
>  # The ipa-sign-install.sh script which uses the ipa_names variable will itself
> -- 
> 2.37.3
>
Kieran Bingham Sept. 15, 2022, 8:49 a.m. UTC | #2
Quoting Paul Elder via libcamera-devel (2022-09-15 01:59:25)
> On Wed, Sep 14, 2022 at 04:28:59PM +0530, Umang Jain via libcamera-devel wrote:
> > Vimc pipeline handler is enabled unconditionally if the meson config
> > option '-Dtest' is true. However, this is not true for the vimc IPA.
> > Hence, a meson configuration such as:
> > 
> >     -Dpipelines=raspberrypi -Dipas=raspberrypi -Dtest=true
> > 
> > will include the vimc pipeline handler (in addition to raspberrypi)
> > but will skip the vimc IPA which can lead to failure of unit tests
> > that depends on vimc to execute.
> > 
> > One such unit test was identified as a result of this issue on
> > RaspberryPi:
> > 
> > ERROR IPAModule ipa_module.cpp:278 ipa_vimc.so: Failed to open IPA library: No such file or directory
> > test IPA module src/ipa/vimc/ipa_vimc.so is invalid
> > 
> > due to the non-existent ipa_vimc.so.
> > 
> > Fix this by including the vimc IPA unconditionally when the tests are
> > enabled, similar to how the vim pipeline-handler is included.
> > 
> > Fixes: 6e65d4225736 ("libcamera: Enable vimc pipeline handler when tests are enabled")
> > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
> 
> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
> 

Ohh good fix.

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

> > ---
> >  src/ipa/meson.build | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> > 
> > diff --git a/src/ipa/meson.build b/src/ipa/meson.build
> > index 849bb372..e972bbe8 100644
> > --- a/src/ipa/meson.build
> > +++ b/src/ipa/meson.build
> > @@ -27,6 +27,14 @@ ipa_sign = files('ipa-sign.sh')
> >  ipa_names = []
> >  
> >  ipa_modules = get_option('ipas')
> > +
> > +# Tests require the vimc IPA, similar to vimc pipline-handler for their
> > +# execution. Include it automatically when tests are enabled.
> > +if get_option('test') and 'vimc' not in ipa_modules
> > +  message('Enabling vimc IPA to support tests')
> > +  ipa_modules += ['vimc']
> > +endif
> > +
> >  enabled_ipa_modules = []
> >  
> >  # The ipa-sign-install.sh script which uses the ipa_names variable will itself
> > -- 
> > 2.37.3
> >

Patch
diff mbox series

diff --git a/src/ipa/meson.build b/src/ipa/meson.build
index 849bb372..e972bbe8 100644
--- a/src/ipa/meson.build
+++ b/src/ipa/meson.build
@@ -27,6 +27,14 @@  ipa_sign = files('ipa-sign.sh')
 ipa_names = []
 
 ipa_modules = get_option('ipas')
+
+# Tests require the vimc IPA, similar to vimc pipline-handler for their
+# execution. Include it automatically when tests are enabled.
+if get_option('test') and 'vimc' not in ipa_modules
+  message('Enabling vimc IPA to support tests')
+  ipa_modules += ['vimc']
+endif
+
 enabled_ipa_modules = []
 
 # The ipa-sign-install.sh script which uses the ipa_names variable will itself