summaryrefslogtreecommitdiff
path: root/tests/qtest/virtio-9p-test.c
diff options
context:
space:
mode:
authorChristian Schoenebeck <qemu_oss@crudebyte.com>2020-10-08 20:34:56 +0200
committerChristian Schoenebeck <qemu_oss@crudebyte.com>2020-10-19 14:25:40 +0200
commit3a565c641a5c50bd6d0cb4df881b607a279505f6 (patch)
tree249d8ce0ebd24755fd091e7edb40ca89394b1ea1 /tests/qtest/virtio-9p-test.c
parenteefd2394efd6ba379d36d80c52de9ad956343b47 (diff)
downloadqemu-3a565c641a5c50bd6d0cb4df881b607a279505f6.zip
tests/9pfs: introduce local tests
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> Message-Id: <81fc4b3b6b6c9bf7999e79f5e7cbc364a5f09ddb.1602182956.git.qemu_oss@crudebyte.com> Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Diffstat (limited to 'tests/qtest/virtio-9p-test.c')
-rw-r--r--tests/qtest/virtio-9p-test.c44
1 files changed, 30 insertions, 14 deletions
diff --git a/tests/qtest/virtio-9p-test.c b/tests/qtest/virtio-9p-test.c
index 3281153b9c..af7e169d3a 100644
--- a/tests/qtest/virtio-9p-test.c
+++ b/tests/qtest/virtio-9p-test.c
@@ -895,29 +895,45 @@ static void fs_readdir_split_512(void *obj, void *data,
fs_readdir_split(obj, data, t_alloc, 512);
}
+static void *assign_9p_local_driver(GString *cmd_line, void *arg)
+{
+ virtio_9p_assign_local_driver(cmd_line, "security_model=mapped-xattr");
+ return arg;
+}
+
static void register_virtio_9p_test(void)
{
- qos_add_test("synth/config", "virtio-9p", pci_config, NULL);
- qos_add_test("synth/version/basic", "virtio-9p", fs_version, NULL);
- qos_add_test("synth/attach/basic", "virtio-9p", fs_attach, NULL);
- qos_add_test("synth/walk/basic", "virtio-9p", fs_walk, NULL);
+
+ QOSGraphTestOptions opts = {
+ };
+
+ /* 9pfs test cases using the 'synth' filesystem driver */
+ qos_add_test("synth/config", "virtio-9p", pci_config, &opts);
+ qos_add_test("synth/version/basic", "virtio-9p", fs_version, &opts);
+ qos_add_test("synth/attach/basic", "virtio-9p", fs_attach, &opts);
+ qos_add_test("synth/walk/basic", "virtio-9p", fs_walk, &opts);
qos_add_test("synth/walk/no_slash", "virtio-9p", fs_walk_no_slash,
- NULL);
+ &opts);
qos_add_test("synth/walk/dotdot_from_root", "virtio-9p",
- fs_walk_dotdot, NULL);
- qos_add_test("synth/lopen/basic", "virtio-9p", fs_lopen, NULL);
- qos_add_test("synth/write/basic", "virtio-9p", fs_write, NULL);
+ fs_walk_dotdot, &opts);
+ qos_add_test("synth/lopen/basic", "virtio-9p", fs_lopen, &opts);
+ qos_add_test("synth/write/basic", "virtio-9p", fs_write, &opts);
qos_add_test("synth/flush/success", "virtio-9p", fs_flush_success,
- NULL);
+ &opts);
qos_add_test("synth/flush/ignored", "virtio-9p", fs_flush_ignored,
- NULL);
- qos_add_test("synth/readdir/basic", "virtio-9p", fs_readdir, NULL);
+ &opts);
+ qos_add_test("synth/readdir/basic", "virtio-9p", fs_readdir, &opts);
qos_add_test("synth/readdir/split_512", "virtio-9p",
- fs_readdir_split_512, NULL);
+ fs_readdir_split_512, &opts);
qos_add_test("synth/readdir/split_256", "virtio-9p",
- fs_readdir_split_256, NULL);
+ fs_readdir_split_256, &opts);
qos_add_test("synth/readdir/split_128", "virtio-9p",
- fs_readdir_split_128, NULL);
+ fs_readdir_split_128, &opts);
+
+
+ /* 9pfs test cases using the 'local' filesystem driver */
+ opts.before = assign_9p_local_driver;
+ qos_add_test("local/config", "virtio-9p", pci_config, &opts);
}
libqos_init(register_virtio_9p_test);