[libvirt PATCH 2/3] tests: esxutilstest: depend on esx_gen_headers

Pavel Hrdina phrdina at redhat.com
Wed Sep 23 09:45:05 UTC 2020


On Wed, Sep 23, 2020 at 11:17:44AM +0200, Ján Tomko wrote:
> Sometimes parallel compilation randomly fails on platforms
> that do not have many drivers enabled, like macOS:
> 
> In file included from ../tests/esxutilstest.c:13:
> ../src/esx/esx_vi_types.h:62:10: fatal error: 'esx_vi_types.generated.typedef' file not found
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
> 
> List esx_gen_headers as a source to stop meson from building
> it before the headers are generated.
> 
> https://gitlab.com/libvirt/libvirt/-/jobs/726039284
> 
> Signed-off-by: Ján Tomko <jtomko at redhat.com>
> ---
>  tests/meson.build | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/meson.build b/tests/meson.build
> index f4fbb25e66..8ae201fd69 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -355,8 +355,9 @@ if conf.has('WITH_BHYVE')
>  endif
>  
>  if conf.has('WITH_ESX')
> +  esxutilstest_sources = [ 'esxutilstest.c', esx_gen_headers ]
>    tests += [
> -    { 'name': 'esxutilstest', 'include': [ esx_inc_dir ] },
> +    { 'name': 'esxutilstest', 'sources': esxutilstest_sources, 'include': [ esx_inc_dir ] },
>    ]
>  endif

You can create esx_dep in src/esx/meson.build:

esx_dep = declare_dependency(
  include_directories: esx_inc_dir,
  sources: esx_gen_headers,
)

and use it in the test file:

    { 'name': 'esxutilstest', 'deps': [ esx_dep ] },

This way it's ensured that the include and headers are always used
together as a single dependency.

Pavel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20200923/b39842a9/attachment-0001.sig>


More information about the libvir-list mailing list