[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 08/11] tests/9pfs: introduce local tests
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH v2 08/11] tests/9pfs: introduce local tests |
Date: |
Fri, 2 Oct 2020 15:35:35 +0100 |
User-agent: |
Mutt/1.14.6 (2020-07-11) |
On Fri, Oct 02, 2020 at 04:26:48PM +0200, Christian Schoenebeck wrote:
> On Freitag, 2. Oktober 2020 13:51:54 CEST Christian Schoenebeck wrote:
> > This patch introduces 9pfs test cases using the 9pfs 'local'
> > filesystem driver which reads/writes/creates/deletes real files
> > and directories.
> >
> > In this initial version, there is only one local test which actually
> > only checks if the 9pfs 'local' device was created successfully.
> >
> > Before the 9pfs 'local' tests are run, a test directory 'qtest-9p-local'
> > is created (with world rwx permissions) under the current working
> > directory. At this point that test directory is not auto deleted yet.
> >
> > Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
> > ---
> > tests/qtest/libqos/virtio-9p.c | 100 +++++++++++++++++++++++++++++++++
> > tests/qtest/libqos/virtio-9p.h | 5 ++
> > tests/qtest/virtio-9p-test.c | 44 ++++++++++-----
> > 3 files changed, 135 insertions(+), 14 deletions(-)
> >
> > diff --git a/tests/qtest/libqos/virtio-9p.c b/tests/qtest/libqos/virtio-9p.c
> > index 2e300063e3..86e40e5d56 100644
> > --- a/tests/qtest/libqos/virtio-9p.c
> > +++ b/tests/qtest/libqos/virtio-9p.c
> > @@ -24,6 +24,63 @@
> > #include "qgraph.h"
> >
> > static QGuestAllocator *alloc;
> > +static char *local_test_path;
> > +
> > +static char *strpr(const char* format, ...) GCC_FMT_ATTR(1, 2);
> > +
> > +/* Concatenates the passed 2 pathes. Returned result must be freed. */
> > +static char *concat_path(const char* a, const char* b)
> > +{
> > + const int len = strlen(a) + strlen("/") + strlen(b);
> > + char *path = g_malloc0(len + 1);
> > + snprintf(path, len + 1, "%s/%s", a, b);
> > + g_assert(strlen(path) == len);
> > + return path;
> > +}
>
> Ok, but maybe I could make that concat_path() function wrap g_strconcat().
Or even one of g_build_path or g_build_filename may be useful
> > +/*
> > + * Lazy sprintf() implementation which auto allocates buffer. Returned
> > result + * must be freed.
> > + */
> > +static char *strpr(const char* format, ...)
> > +{
> > + va_list argp;
> > +
> > + va_start(argp, format);
> > + const int sz = vsnprintf(NULL, 0, format, argp) + 1;
> > + va_end(argp);
> > +
> > + g_assert(sz > 0);
> > + char *s = g_malloc0(sz);
> > +
> > + va_start(argp, format);
> > + const int len = vsnprintf(s, sz, format, argp);
> > + va_end(argp);
> > +
> > + g_assert(len + 1 == sz);
> > + return s;
> > +}
>
> And this strpr() function entirely be replaced by g_strdup_printf().
Yep, its preferrable to use g_strdup_printf instead of manually
allocating.
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 :|
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, (continued)
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, Daniel P . Berrangé, 2020/10/02
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, Christian Schoenebeck, 2020/10/02
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, Daniel P . Berrangé, 2020/10/02
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, Christian Schoenebeck, 2020/10/02
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, Daniel P . Berrangé, 2020/10/02
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, Christian Schoenebeck, 2020/10/02
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, Greg Kurz, 2020/10/02
- Re: [PATCH v2 11/11] tests/9pfs: add local Tmkdir test, Christian Schoenebeck, 2020/10/02
[PATCH v2 08/11] tests/9pfs: introduce local tests, Christian Schoenebeck, 2020/10/02
[PATCH v2 04/11] tests/qtest/qos-test: dump qos graph if verbose, Christian Schoenebeck, 2020/10/02
[PATCH v2 07/11] tests/9pfs: change qtest name prefix to synth, Christian Schoenebeck, 2020/10/02
[PATCH v2 03/11] libqos/qgraph: add qos_dump_graph(), Christian Schoenebeck, 2020/10/02
[PATCH v2 09/11] tests/9pfs: wipe local 9pfs test directory, Christian Schoenebeck, 2020/10/02
[PATCH v2 06/11] tests/qtest/qos-test: dump QEMU command if verbose, Christian Schoenebeck, 2020/10/02
[PATCH v2 02/11] libqos/qgraph: add qos_node_create_driver_named(), Christian Schoenebeck, 2020/10/02
[PATCH v2 01/11] libqos/qgraph: add qemu_name to QOSGraphNode, Christian Schoenebeck, 2020/10/02
[PATCH v2 05/11] tests/qtest/qos-test: dump environment variables if verbose, Christian Schoenebeck, 2020/10/02
[PATCH v2 10/11] tests/9pfs: add virtio_9p_test_path(), Christian Schoenebeck, 2020/10/02