From nobody Fri Nov 7 14:33:34 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1548094348764312.8557169940833; Mon, 21 Jan 2019 10:12:28 -0800 (PST) Received: from localhost ([127.0.0.1]:57423 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gle3f-0000Wr-IH for importer@patchew.org; Mon, 21 Jan 2019 13:12:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gldy3-0004Io-W1 for qemu-devel@nongnu.org; Mon, 21 Jan 2019 13:06:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gldy2-00044W-2f for qemu-devel@nongnu.org; Mon, 21 Jan 2019 13:06:39 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:45389) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gldy1-00042e-QG for qemu-devel@nongnu.org; Mon, 21 Jan 2019 13:06:37 -0500 Received: by mail-wr1-x435.google.com with SMTP id t6so24420401wrr.12 for ; Mon, 21 Jan 2019 10:06:37 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id 133sm56197732wme.9.2019.01.21.10.06.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Jan 2019 10:06:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A6aKkNh6mgKzO0ZjNK4563x22eK8au5ms94QUqfziW4=; b=ed1NIJBv6WsuOQuSjLeQlNIjVPbkVuS9MdKdSlwZYoVnhROhGY1RKLptcV46fxrciL h72asozxolKrLCNtLtmEanClDvQSJfPkDq8APanK7rh4KCYmSrHd8mJvVvShOwSRzF2v l4Kde2tQfc2IV7N29lEQrh1dkUgdhV+I2TVBrdaEG0FZUPFfbUDj5afgoZvMpPyxF4Dg Rz87fOEJcwXcQN1ODCILcqJXHATVuz1xxBer3g1eZl2ozMvAXLp6c2BFm7DC01GTJZ74 PUwI1YK396Hty/vuniC2dqAO0yNneFSY+xQfPpvY6gM0fwigNtVER2D7w7128+CaSk6K KcdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=A6aKkNh6mgKzO0ZjNK4563x22eK8au5ms94QUqfziW4=; b=C0lBjM5OLX7KAXpGpSEGfsBdZpiZIt9z2yJqKKNoOuJFth9yMXRdx4LlpJOVuiaGmw fqMVdUR1gVUcyZZ26qAkMK5KfyuPssckOh+a4VMzwftDe/Psxz59Ruo5/QR+HiES9tVd btBrr5DvU/i2807sCMxvxBikaFho2EhTI94hewS/OAxRQmSduGWyFWmntFZyaoDVkGBN vF/JbFFINUGcoMsokIq2VYDawpQZiej8xy2Y+UZro04ziMK5Z8NeED7Vv6lpDwhl2bbn YCjHCF5z7fHDadzOrj+7Es+Btcq2TfdtEckf7WAkQIZL1Orvb4KkGqugt34YGw3hiUjZ HFnQ== X-Gm-Message-State: AJcUukchn5FlnBk0RpepB2aSWPGtDzIUK4x3nRocjyIBb8AvVJVIkDoG i2O5bH/LFmh+pUWAemSIQ53aW8E7 X-Google-Smtp-Source: ALg8bN4MZF//R/u4J4E8DYA1F1EDUXv6TzodOGQucWgjXMKtLLZGS7Wlm0bosINa82zPMQMfKZggWg== X-Received: by 2002:adf:a50c:: with SMTP id i12mr28053555wrb.220.1548093996266; Mon, 21 Jan 2019 10:06:36 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 21 Jan 2019 19:05:44 +0100 Message-Id: <1548093980-43088-14-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1548093980-43088-1-git-send-email-pbonzini@redhat.com> References: <1548093980-43088-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 Subject: [Qemu-devel] [PULL 13/49] vhost-user-test: reduce usage of global_qtest X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Whenever the code can run on multiple QTestStates, use them explicitly inst= ead of global_qtest. Reviewed-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <1543851204-41186-12-git-send-email-pbonzini@redhat.com> --- tests/vhost-user-test.c | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index 30b0aba..15e3bbf 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -190,12 +190,12 @@ static char *get_qemu_cmd(TestServer *s, } } =20 -static void init_virtio_dev(TestServer *s, uint32_t features_mask) +static void init_virtio_dev(QTestState *qts, TestServer *s, uint32_t featu= res_mask) { uint32_t features; int i; =20 - s->bus =3D qpci_init_pc(global_qtest, NULL); + s->bus =3D qpci_init_pc(qts, NULL); g_assert_nonnull(s->bus); =20 s->dev =3D qvirtio_pci_device_find(s->bus, VIRTIO_ID_NET); @@ -206,7 +206,7 @@ static void init_virtio_dev(TestServer *s, uint32_t fea= tures_mask) qvirtio_set_acknowledge(&s->dev->vdev); qvirtio_set_driver(&s->dev->vdev); =20 - s->alloc =3D pc_alloc_init(global_qtest); + s->alloc =3D pc_alloc_init(qts); =20 for (i =3D 0; i < s->queues * 2; i++) { s->vq[i] =3D qvirtqueue_setup(&s->dev->vdev, s->alloc, i); @@ -268,7 +268,7 @@ static bool wait_for_fds(TestServer *s) return got_region; } =20 -static void read_guest_mem_server(TestServer *s) +static void read_guest_mem_server(QTestState *qts, TestServer *s) { uint8_t *guest_mem; int i, j; @@ -296,7 +296,7 @@ static void read_guest_mem_server(TestServer *s) guest_mem +=3D (s->memory.regions[i].mmap_offset / sizeof(*guest_m= em)); =20 for (j =3D 0; j < 1024; j++) { - uint32_t a =3D readb(s->memory.regions[i].guest_phys_addr + j); + uint32_t a =3D qtest_readb(qts, s->memory.regions[i].guest_phy= s_addr + j); uint32_t b =3D guest_mem[j]; =20 g_assert_cmpint(a, =3D=3D, b); @@ -675,13 +675,13 @@ static void test_read_guest_mem(const void *arg) s =3D qtest_start(qemu_cmd); g_free(qemu_cmd); =20 - init_virtio_dev(server, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(global_qtest, server, 1u << VIRTIO_NET_F_MAC); =20 if (!wait_for_fds(server)) { goto exit; } =20 - read_guest_mem_server(server); + read_guest_mem_server(global_qtest, server); =20 exit: uninit_virtio_dev(server); @@ -695,7 +695,7 @@ static void test_migrate(void) TestServer *s =3D test_server_new("src"); TestServer *dest =3D test_server_new("dest"); char *uri =3D g_strdup_printf("%s%s", "unix:", dest->mig_path); - QTestState *global =3D global_qtest, *from, *to; + QTestState *from, *to; GSource *source; gchar *cmd, *tmp; QDict *rsp; @@ -709,7 +709,7 @@ static void test_migrate(void) from =3D qtest_start(cmd); g_free(cmd); =20 - init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(from, s, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(s)) { goto exit; } @@ -722,7 +722,7 @@ static void test_migrate(void) g_free(tmp); to =3D qtest_init(cmd); g_free(cmd); - init_virtio_dev(dest, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(to, dest, 1u << VIRTIO_NET_F_MAC); =20 source =3D g_source_new(&test_migrate_source_funcs, sizeof(TestMigrateSource)); @@ -758,12 +758,10 @@ static void test_migrate(void) qobject_unref(rsp); =20 qmp_eventwait("STOP"); + qtest_qmp_eventwait(to, "RESUME"); =20 - global_qtest =3D to; - qmp_eventwait("RESUME"); - - g_assert(wait_for_fds(s)); - read_guest_mem_server(dest); + g_assert(wait_for_fds(dest)); + read_guest_mem_server(to, dest); =20 uninit_virtio_dev(dest); qtest_quit(to); @@ -778,8 +776,6 @@ exit: qtest_quit(from); test_server_free(s); g_free(uri); - - global_qtest =3D global; } =20 static void wait_for_rings_started(TestServer *s, size_t count) @@ -836,7 +832,7 @@ static void test_reconnect_subprocess(void) qtest_start(cmd); g_free(cmd); =20 - init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(global_qtest, s, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(s)) { goto exit; } @@ -878,7 +874,7 @@ static void test_connect_fail_subprocess(void) qtest_start(cmd); g_free(cmd); =20 - init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(global_qtest, s, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(s)) { goto exit; } @@ -911,7 +907,7 @@ static void test_flags_mismatch_subprocess(void) qtest_start(cmd); g_free(cmd); =20 - init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(global_qtest, s, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(s)) { goto exit; } @@ -962,7 +958,7 @@ static void test_multiqueue(void) qtest_start(cmd); g_free(cmd); =20 - init_virtio_dev(s, features_mask); + init_virtio_dev(global_qtest, s, features_mask); =20 wait_for_rings_started(s, s->queues * 2); =20 --=20 1.8.3.1