[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/15] tests/qtest/vhost-user-test: add migrate_reconnect test
From: |
Michael S. Tsirkin |
Subject: |
[PULL 11/15] tests/qtest/vhost-user-test: add migrate_reconnect test |
Date: |
Fri, 18 Sep 2020 11:06:18 -0400 |
From: Dima Stepanov <dimastep@yandex-team.ru>
Add new migrate_reconnect test for the vhost-user-blk device. Perform a
disconnect after sending response for the VHOST_USER_SET_LOG_BASE
command.
Signed-off-by: Dima Stepanov <dimastep@yandex-team.ru>
Message-Id:
<a19c40a54e0c783e886a7324527ea8905647fb88.1598865610.git.dimastep@yandex-team.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
tests/qtest/vhost-user-test.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/tests/qtest/vhost-user-test.c b/tests/qtest/vhost-user-test.c
index 91f8cfda12..f8c74285c1 100644
--- a/tests/qtest/vhost-user-test.c
+++ b/tests/qtest/vhost-user-test.c
@@ -146,6 +146,7 @@ static VhostUserMsg m __attribute__ ((unused));
enum {
TEST_FLAGS_OK,
TEST_FLAGS_DISCONNECT,
+ TEST_FLAGS_MIGRATE_DISCONNECT,
TEST_FLAGS_BAD,
TEST_FLAGS_END,
};
@@ -436,6 +437,15 @@ static void chr_read(void *opaque, const uint8_t *buf, int
size)
qemu_chr_fe_write_all(chr, p, VHOST_USER_HDR_SIZE);
g_cond_broadcast(&s->data_cond);
+ /*
+ * Perform disconnect after sending a response. In this
+ * case the next write command on the QEMU side (for now
+ * it is SET_FEATURES will return -1, because of disconnect.
+ */
+ if (s->test_flags == TEST_FLAGS_MIGRATE_DISCONNECT) {
+ qemu_chr_fe_disconnect(chr);
+ s->test_flags = TEST_FLAGS_BAD;
+ }
break;
case VHOST_USER_SET_VRING_BASE:
@@ -737,6 +747,17 @@ static void *vhost_user_test_setup_memfd(GString
*cmd_line, void *arg)
return server;
}
+static void *vhost_user_test_setup_migrate_reconnect(GString *cmd_line,
+ void *arg)
+{
+ TestServer *server;
+
+ server = vhost_user_test_setup_memfd(cmd_line, arg);
+ server->test_flags = TEST_FLAGS_MIGRATE_DISCONNECT;
+
+ return server;
+}
+
static void test_read_guest_mem(void *obj, void *arg, QGuestAllocator *alloc)
{
TestServer *server = arg;
@@ -1149,5 +1170,9 @@ static void register_vhost_user_test(void)
opts.before = vhost_user_test_setup_memfd;
qos_add_test("migrate", "vhost-user-blk",
test_migrate, &opts);
+
+ opts.before = vhost_user_test_setup_migrate_reconnect;
+ qos_add_test("migrate_reconnect", "vhost-user-blk",
+ test_migrate, &opts);
}
libqos_init(register_vhost_user_test);
--
MST
- [PULL 04/15] virtio-mem: detach the element from the virtqueue when error occurs, (continued)
- [PULL 04/15] virtio-mem: detach the element from the virtqueue when error occurs, Michael S. Tsirkin, 2020/09/18
- [PULL 03/15] vhost-vdpa: batch updating IOTLB mappings, Michael S. Tsirkin, 2020/09/18
- [PULL 05/15] pc: fix auto_enable_numa_with_memhp/auto_enable_numa_with_memdev for the 5.0 machine, Michael S. Tsirkin, 2020/09/18
- [PULL 07/15] vhost: check queue state in the vhost_dev_set_log routine, Michael S. Tsirkin, 2020/09/18
- [PULL 06/15] vhost: recheck dev state in the vhost_migration_log routine, Michael S. Tsirkin, 2020/09/18
- [PULL 08/15] tests/qtest/vhost-user-test: prepare the tests for adding new dev class, Michael S. Tsirkin, 2020/09/18
- [PULL 12/15] tests/qtest/vhost-user-test: enable the reconnect tests, Michael S. Tsirkin, 2020/09/18
- [PULL 15/15] virtio-iommu-pci: force virtio version 1, Michael S. Tsirkin, 2020/09/18
- [PULL 09/15] tests/qtest/libqos/virtio-blk: add support for vhost-user-blk, Michael S. Tsirkin, 2020/09/18
- [PULL 11/15] tests/qtest/vhost-user-test: add migrate_reconnect test,
Michael S. Tsirkin <=
- [PULL 13/15] cphp: remove deprecated cpu-add command(s), Michael S. Tsirkin, 2020/09/18
- [PULL 14/15] virtio-iommu: Check gtrees are non null before destroying them, Michael S. Tsirkin, 2020/09/18
- [PULL 10/15] tests/qtest/vhost-user-test: add support for the vhost-user-blk device, Michael S. Tsirkin, 2020/09/18
- Re: [PULL 00/15] virtio,pc,acpi: fixes, tests, Peter Maydell, 2020/09/18