qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Laurent Vivier <lvivier@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Thomas Huth <thuth@redhat.com>,
	Raphael Norwitz <raphael.norwitz@nutanix.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Dima Stepanov <dimastep@yandex-team.ru>
Subject: [PULL v2 11/15] tests/qtest/vhost-user-test: add migrate_reconnect test
Date: Fri, 18 Sep 2020 12:20:28 -0400	[thread overview]
Message-ID: <20200918161836.318893-12-mst@redhat.com> (raw)
In-Reply-To: <20200918161836.318893-1-mst@redhat.com>

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>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Message-Id: <6f38139d24a1be703a6f1c7d983faccdf21d2a9a.1599813294.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 a8af6134e5..4b715d385e 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;
@@ -1150,5 +1171,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



  parent reply	other threads:[~2020-09-18 16:40 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-18 16:19 [PULL v2 00/15] virtio,pc,acpi: fixes, tests Michael S. Tsirkin
2020-09-18 16:19 ` [PULL v2 01/15] linux headers: sync to 5.9-rc4 Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 04/15] virtio-mem: detach the element from the virtqueue when error occurs Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 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 16:20 ` [PULL v2 06/15] vhost: recheck dev state in the vhost_migration_log routine Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 07/15] vhost: check queue state in the vhost_dev_set_log routine Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 08/15] tests/qtest/vhost-user-test: prepare the tests for adding new dev class Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 09/15] tests/qtest/libqos/virtio-blk: add support for vhost-user-blk Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 10/15] tests/qtest/vhost-user-test: add support for the vhost-user-blk device Michael S. Tsirkin
2020-09-18 16:20 ` Michael S. Tsirkin [this message]
2020-09-18 16:20 ` [PULL v2 12/15] tests/qtest/vhost-user-test: enable the reconnect tests Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 13/15] cphp: remove deprecated cpu-add command(s) Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 14/15] virtio-iommu: Check gtrees are non null before destroying them Michael S. Tsirkin
2020-09-18 16:20 ` [PULL v2 15/15] virtio-iommu-pci: force virtio version 1 Michael S. Tsirkin
2020-09-18 16:21 ` [PULL v2 02/15] vhost: switch to use IOTLB v2 format Michael S. Tsirkin
2020-09-18 16:21 ` [PULL v2 03/15] vhost-vdpa: batch updating IOTLB mappings Michael S. Tsirkin
2020-09-18 16:20   ` Michael S. Tsirkin
2020-09-18 16:35 ` [PULL v2 00/15] virtio,pc,acpi: fixes, tests Michael S. Tsirkin
2020-09-18 16:46   ` Peter Maydell
2020-09-18 17:01 ` no-reply

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=20200918161836.318893-12-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=dimastep@yandex-team.ru \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=raphael.norwitz@nutanix.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).