From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Christian Schoenebeck <qemu_oss@crudebyte.com>
Cc: Laurent Vivier <lvivier@redhat.com>,
Thomas Huth <thuth@redhat.com>,
Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>,
qemu-devel@nongnu.org, Greg Kurz <groug@kaod.org>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH v2 08/11] tests/9pfs: introduce local tests
Date: Fri, 2 Oct 2020 15:35:35 +0100 [thread overview]
Message-ID: <20201002143535.GG2338114@redhat.com> (raw)
In-Reply-To: <27148257.gUaGpDsOI2@silver>
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 :|
next prev parent reply other threads:[~2020-10-02 14:40 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-02 11:52 [PATCH v2 00/11] 9pfs: add tests using local fs driver Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 10/11] tests/9pfs: add virtio_9p_test_path() Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 01/11] libqos/qgraph: add qemu_name to QOSGraphNode Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 11/11] tests/9pfs: add local Tmkdir test Christian Schoenebeck
2020-10-02 12:56 ` Daniel P. Berrangé
2020-10-02 13:41 ` Christian Schoenebeck
2020-10-02 13:44 ` Daniel P. Berrangé
2020-10-02 14:09 ` Christian Schoenebeck
2020-10-02 14:23 ` Daniel P. Berrangé
2020-10-02 14:30 ` Christian Schoenebeck
2020-10-02 14:32 ` Greg Kurz
2020-10-02 15:00 ` Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 09/11] tests/9pfs: wipe local 9pfs test directory Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 07/11] tests/9pfs: change qtest name prefix to synth Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 06/11] tests/qtest/qos-test: dump QEMU command if verbose Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 02/11] libqos/qgraph: add qos_node_create_driver_named() Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 05/11] tests/qtest/qos-test: dump environment variables if verbose Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 08/11] tests/9pfs: introduce local tests Christian Schoenebeck
2020-10-02 14:26 ` Christian Schoenebeck
2020-10-02 14:35 ` Daniel P. Berrangé [this message]
2020-10-02 11:51 ` [PATCH v2 04/11] tests/qtest/qos-test: dump qos graph if verbose Christian Schoenebeck
2020-10-02 11:51 ` [PATCH v2 03/11] libqos/qgraph: add qos_dump_graph() Christian Schoenebeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201002143535.GG2338114@redhat.com \
--to=berrange@redhat.com \
--cc=e.emanuelegiuseppe@gmail.com \
--cc=groug@kaod.org \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu_oss@crudebyte.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).