Reviewed-by: Kostiantyn Kostiuk <[email protected]> On Wed, Sep 16, 2026 at 7:57 PM Roman Bogorodskiy <[email protected]> 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 > ret = connect(s, (struct sockaddr *)&remote, len); > if (ret == -1) { > g_usleep(G_USEC_PER_SEC); > -- > 2.55.0 > >
