[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 10/12] tests/9pfs: wipe local 9pfs test directory
From: |
Christian Schoenebeck |
Subject: |
[PATCH v4 10/12] tests/9pfs: wipe local 9pfs test directory |
Date: |
Thu, 8 Oct 2020 20:34:56 +0200 |
Before running the first 9pfs test case, make sure the test directory
for running the 9pfs 'local' tests on is entirely empty. For that
reason simply delete the test directory (if any) before (re)creating
it on test suite startup.
Note: The preferable precise behaviour would be the test directory
only being wiped once *before* a test suite run. Right now the test
directory is also wiped at the *end* of a test suite run because
libqos is calling the virtio_9p_cleanup() callback for some reason
also when a test suite completed. This is suboptimal as developers
cannot immediately see what files and directories the 9pfs local
tests created precisely after the test suite completed. But
fortunately the test directory is not wiped if some test failed.
So it is probably not worth it drilling another hole into libqos
for this issue.
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
---
tests/qtest/libqos/virtio-9p.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/tests/qtest/libqos/virtio-9p.c b/tests/qtest/libqos/virtio-9p.c
index 9cb284cb3c..bd53498041 100644
--- a/tests/qtest/libqos/virtio-9p.c
+++ b/tests/qtest/libqos/virtio-9p.c
@@ -53,6 +53,18 @@ static void create_local_test_dir(void)
g_assert((st.st_mode & S_IFMT) == S_IFDIR);
}
+/* Deletes directory previously created by create_local_test_dir(). */
+static void remove_local_test_dir(void)
+{
+ g_assert(local_test_path != NULL);
+ char *cmd = g_strdup_printf("rm -r '%s'\n", local_test_path);
+ int res = system(cmd);
+ if (res < 0) {
+ /* ignore error, dummy check to prevent compiler error */
+ }
+ g_free(cmd);
+}
+
static void virtio_9p_cleanup(QVirtio9P *interface)
{
qvirtqueue_cleanup(interface->vdev->bus, interface->vq, alloc);
@@ -230,6 +242,7 @@ static void virtio_9p_register_nodes(void)
/* make sure test dir for the 'local' tests exists and is clean */
init_local_test_path();
+ remove_local_test_dir();
create_local_test_dir();
QPCIAddress addr = {
--
2.20.1
- Re: [PATCH v4 06/12] tests/qtest/qos-test: dump environment variables if verbose, (continued)
- [PATCH v4 07/12] tests/qtest/qos-test: dump QEMU command if verbose, Christian Schoenebeck, 2020/10/08
- [PATCH v4 08/12] tests/9pfs: change qtest name prefix to synth, Christian Schoenebeck, 2020/10/08
- [PATCH v4 09/12] tests/9pfs: introduce local tests, Christian Schoenebeck, 2020/10/08
- [PATCH v4 12/12] tests/9pfs: add local Tmkdir test, Christian Schoenebeck, 2020/10/08
- [PATCH v4 11/12] tests/9pfs: add virtio_9p_test_path(), Christian Schoenebeck, 2020/10/08
- [PATCH v4 10/12] tests/9pfs: wipe local 9pfs test directory,
Christian Schoenebeck <=