From: Christian Schoenebeck <qemu_oss@crudebyte.com>
To: qemu-devel@nongnu.org
Cc: Thomas Huth <thuth@redhat.com>,
Laurent Vivier <lvivier@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>,
Greg Kurz <groug@kaod.org>,
berrange@redhat.com
Subject: [PATCH v3 00/11] 9pfs: add tests using local fs driver
Date: Fri, 2 Oct 2020 18:15:08 +0200 [thread overview]
Message-ID: <cover.1601655308.git.qemu_oss@crudebyte.com> (raw)
The currently existing 9pfs test cases are all solely using the 9pfs 'synth'
fileystem driver, which is a very simple and purely simulated (in RAM only)
filesystem. There are issues though where the 'synth' fs driver is not
sufficient. For example the following two bugs need test cases running the
9pfs 'local' fs driver:
https://bugs.launchpad.net/qemu/+bug/1336794
https://bugs.launchpad.net/qemu/+bug/1877384
This patch set for that reason introduces 9pfs test cases using the 9pfs
'local' filesystem driver along to the already existing tests on 'synth'.
It consists of 3 parts:
1. libqos patches 1 and 2 remove a limitation of the qtest/libqos subsystem:
support for more than one device using the same (official) QEMU device
name.
2. Patches 3 to 6 enhance debugging issues with the qtest framework.
3. Patches 7 to 11 actually introduce 9pfs 'local' test cases using the qtest
framework. These 'local' tests are adding a test directory 'qtest-9p-local'
inside the current working directory (using get_current_dir()), which is
typically the build directory, before running the tests. That test
directory is automatically recreated next time the test suite is run again,
to ensure the 9pfs 'local' tests always run consistently on a clean test
directory. The test directory is used by the 'local' driver as root of its
export path. So it will add/read/write/delete real files and directories
inside that test directory.
v2->v3:
* concat_path() is now just a wrapper for g_build_filename() (patch 8).
* Dropped function strpr(), using g_strdup_printf() instead (patch 8, 9).
* Fixed incorrect size for array allocation in split() function
(patch 11).
v1->v2:
* The libqos debugging features are now turned on by command line argument
'--verbose' instead of using environment variables (patches 4, 5, 6).
* The new 9pfs 'local' tests no longer depend on patches 1 and 2 by no
longer using a libqos multi-device approach, but rather modifying the
final QEMU command line for each test instead; see discussion of v1
for reason (patches 7 to 11).
* Use GCC_FMT_ATTR on helper function strpr() (patch 8).
* Updated commit log comments.
Christian Schoenebeck (11):
libqos/qgraph: add qemu_name to QOSGraphNode
libqos/qgraph: add qos_node_create_driver_named()
libqos/qgraph: add qos_dump_graph()
tests/qtest/qos-test: dump qos graph if verbose
tests/qtest/qos-test: dump environment variables if verbose
tests/qtest/qos-test: dump QEMU command if verbose
tests/9pfs: change qtest name prefix to synth
tests/9pfs: introduce local tests
tests/9pfs: wipe local 9pfs test directory
tests/9pfs: add virtio_9p_test_path()
tests/9pfs: add local Tmkdir test
tests/qtest/libqos/qgraph.c | 108 ++++++++++++++-
tests/qtest/libqos/qgraph.h | 36 +++++
tests/qtest/libqos/qgraph_internal.h | 1 +
tests/qtest/libqos/virtio-9p.c | 90 ++++++++++++
tests/qtest/libqos/virtio-9p.h | 10 ++
tests/qtest/qos-test.c | 15 +-
tests/qtest/virtio-9p-test.c | 197 ++++++++++++++++++++++++---
7 files changed, 432 insertions(+), 25 deletions(-)
--
2.20.1
next reply other threads:[~2020-10-02 17:24 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-02 16:15 Christian Schoenebeck [this message]
2020-10-02 16:15 ` [PATCH v3 06/11] tests/qtest/qos-test: dump QEMU command if verbose Christian Schoenebeck
2020-10-08 12:36 ` Paolo Bonzini
2020-10-08 13:11 ` Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 11/11] tests/9pfs: add local Tmkdir test Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 03/11] libqos/qgraph: add qos_dump_graph() Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 08/11] tests/9pfs: introduce local tests Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 09/11] tests/9pfs: wipe local 9pfs test directory Christian Schoenebeck
2020-10-08 12:26 ` Christian Schoenebeck
2020-10-08 15:34 ` Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 10/11] tests/9pfs: add virtio_9p_test_path() Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 01/11] libqos/qgraph: add qemu_name to QOSGraphNode Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 02/11] libqos/qgraph: add qos_node_create_driver_named() Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 05/11] tests/qtest/qos-test: dump environment variables if verbose Christian Schoenebeck
2020-10-08 12:37 ` Paolo Bonzini
2020-10-08 13:09 ` Christian Schoenebeck
2020-10-08 13:21 ` Paolo Bonzini
2020-10-08 13:42 ` Christian Schoenebeck
2020-10-08 13:52 ` Paolo Bonzini
2020-10-08 15:38 ` Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 04/11] tests/qtest/qos-test: dump qos graph " Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 07/11] tests/9pfs: change qtest name prefix to synth 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=cover.1601655308.git.qemu_oss@crudebyte.com \
--to=qemu_oss@crudebyte.com \
--cc=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=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).