[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests/qtest: netdev: test stream and dgram backends
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH] tests/qtest: netdev: test stream and dgram backends |
Date: |
Fri, 4 Nov 2022 11:13:02 +0000 |
User-agent: |
Mutt/2.2.7 (2022-08-07) |
On Fri, Nov 04, 2022 at 11:58:29AM +0100, Laurent Vivier wrote:
> On 11/4/22 10:41, Daniel P. Berrangé wrote:
> ...
> > > +static void test_stream_unix(void)
> > > +{
> > > + QTestState *qts0, *qts1;
> > > + char *expect;
> > > + gchar *path;
> > > + int ret;
> > > +
> > > + ret = g_file_open_tmp("netdev-XXXXXX", &path, NULL);
> > > + g_assert_true(ret >= 0);
> > > + close(ret);
> >
> > This is creating a zero length plain file, and then paassing
> > that as a path for the UNIX socket.
> >
> > This is pretty dubious and only works because the code will
> > be doing 'unlink' on the path. Just delete this as there's
> > no reason to pre-create anything on disk for UNIX sockets.
> >
>
> The idea here is to generate a path for the socket and to be sure this path
> is actually not already in use.
Create a temporary directory, and let it create a socket inside
that dir ?
> The same for the abstract one, how to be sure we are not running the same
> test concurrently and select a different unix name?
I guess creating the temp file gives you an indirect guarantee, because
we know the tempfile path will be transformed to an abstract socket path
by twiddling byte 0 to NUL.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|