On Wed, Sep 16, 2026 at 06:56:20PM +0200, Roman Bogorodskiy wrote:
> FreeBSD has all necessary commands implemented,
> so enable test-qga for it.
> 
> Requires only minimal portability fixes for sockets
> in connect_qga().
> 
> Signed-off-by: Roman Bogorodskiy <[email protected]>
> ---
>  tests/unit/meson.build | 2 +-
>  tests/unit/test-qga.c  | 6 +++++-
>  2 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/unit/meson.build b/tests/unit/meson.build
> index e47bc7225a..0ca0d8974e 100644
> --- a/tests/unit/meson.build
> +++ b/tests/unit/meson.build
> @@ -169,7 +169,7 @@ if have_system
>    tests += {'test-qdev': [qom, hwcore]}
>  endif
>  
> -if have_ga and host_os == 'linux'
> +if have_ga and host_os in ['freebsd', 'linux']
>    tests += {'test-qga': ['../qtest/libqmp.c', '../qtest/libqtest.c']}
>    test_deps += {'test-qga': qga}
>  endif
> diff --git a/tests/unit/test-qga.c b/tests/unit/test-qga.c
> index 01ccf826e6..dbedfe3d5f 100644
> --- a/tests/unit/test-qga.c
> +++ b/tests/unit/test-qga.c
> @@ -18,7 +18,7 @@ typedef struct {
>  static int connect_qga(char *path)
>  {
>      int s, ret, len, i = 0;
> -    struct sockaddr_un remote;
> +    struct sockaddr_un remote = { 0 };
>  
>      s = socket(AF_UNIX, SOCK_STREAM, 0);
>      g_assert(s != -1);
> @@ -26,7 +26,11 @@ static int connect_qga(char *path)
>      remote.sun_family = AF_UNIX;
>      do {
>          strcpy(remote.sun_path, path);
> +#ifdef SUN_LEN
> +        len = SUN_LEN(&remote);
> +#else
>          len = strlen(remote.sun_path) + sizeof(remote.sun_family);
> +#endif

This conditional shouldn't be needed, as this ought to be written
as

    len = sizeof(remote)

given that sun_path is NUL terminate, there's no reason to try
to calculate a shorter size, only paths in the abstract namespace
need special length handling.

>          ret = connect(s, (struct sockaddr *)&remote, len);
>          if (ret == -1) {
>              g_usleep(G_USEC_PER_SEC);
> -- 
> 2.55.0
> 
> 

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|


Reply via email to