From nobody Fri Nov 7 12:02:53 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1547742098033859.5370810249459; Thu, 17 Jan 2019 08:21:38 -0800 (PST) Received: from localhost ([127.0.0.1]:47557 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gkAQD-00072w-24 for importer@patchew.org; Thu, 17 Jan 2019 11:21:37 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52110) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gkAM5-0004Jm-Kb for qemu-devel@nongnu.org; Thu, 17 Jan 2019 11:17:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gkAM4-0000ej-OA for qemu-devel@nongnu.org; Thu, 17 Jan 2019 11:17:21 -0500 Received: from smtp45.i.mail.ru ([94.100.177.105]:37110) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gkAM2-0000Y1-C9 for qemu-devel@nongnu.org; Thu, 17 Jan 2019 11:17:20 -0500 Received: by smtp45.i.mail.ru with esmtpa (envelope-from ) id 1gkALy-00010B-Pz; Thu, 17 Jan 2019 19:17:15 +0300 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail2; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=MhunBn6a8V93LgE0K39gLSzpMeZQEsEPLgPs8u4aXBU=; b=X8VWtMrnxOgoi21E0p1/5cOzIUhongccS3g/eS5+U9vQJ68U5Q/v7IYaxRqGKVhJx23d7DJmpi01Cz7TJrXIfxSt7ACzAc3d3YpymrsOtWKI36TwByG5wncBqurFhcAdgPJd4FLGpAJkGwhMurS0vgqx4onx9oYX9qVvmrmfBLI=; To: qemu-devel@nongnu.org Date: Thu, 17 Jan 2019 19:16:38 +0300 Message-Id: <20190117161640.5496-2-jusual@mail.ru> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190117161640.5496-1-jusual@mail.ru> References: <20190117161640.5496-1-jusual@mail.ru> Authentication-Results: smtp45.i.mail.ru; auth=pass smtp.auth=jusual@mail.ru smtp.mailfrom=jusual@mail.ru X-77F55803: 689590B63E0A4B015A78504BD2AC29415C48BF52803089A4A7F0BE0FDA2E50BC0FEB0270D4DE844AD5397098F9212A2C X-7FA49CB5: 0D63561A33F958A5AF3F7AB10DA298A1A7984E25C514B54C820498A25F97EBA38941B15DA834481FA18204E546F3947CEDCF5861DED71B2F389733CBF5DBD5E9C8A9BA7A39EFB7666BA297DBC24807EA117882F44604297287769387670735209ECD01F8117BC8BEA471835C12D1D977C4224003CC8364767815B9869FA544D8D32BA5DBAC0009BE9E8FC8737B5C2249EF2C73A33A032E663AA81AA40904B5D9CF19DD082D7633A0E7DDDDC251EA7DABD81D268191BDAD3D78DA827A17800CE79DD14948C6BCD3BACD04E86FAF290E2D40A5AABA2AD3711975ECD9A6C639B01B78DA827A17800CE7809F63FFBEF9D673BCA89A3F6031D346EFF80C71ABB335746BA297DBC24807EA27F269C8F02392CDBB05166615B404773C9F3DD0FB1AF5EB4E70A05D1297E1BBCB5012B2E24CD356 X-Mailru-Sender: 805131ABF43B5F09656281C20F8AEBE22E0B3CD650BCC20484585EA7DB7AD91CA0A75FDC5059D49DBCD5BA2C93075E1EC77752E0C033A69E882C431543FD75E20226C39053983FF03453F38A29522196 X-Mras: OK X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 94.100.177.105 Subject: [Qemu-devel] [PATCH v4 1/3] tests/libqtest: Introduce qtest_init_with_serial() 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: , From: Julia Suvorova via Qemu-devel Reply-To: Julia Suvorova Cc: Laurent Vivier , Peter Maydell , Thomas Huth , =?UTF-8?q?Steffen=20G=C3=B6rtz?= , Jim Mussared , Joel Stanley , Stefan Hajnoczi , Paolo Bonzini , Julia Suvorova Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Run qtest with a socket that connects QEMU chardev and test code. Signed-off-by: Julia Suvorova --- tests/libqtest.c | 26 ++++++++++++++++++++++++++ tests/libqtest.h | 11 +++++++++++ 2 files changed, 37 insertions(+) diff --git a/tests/libqtest.c b/tests/libqtest.c index 55750dd68d..3a015cfe13 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -315,6 +315,32 @@ QTestState *qtest_initf(const char *fmt, ...) return s; } =20 +QTestState *qtest_init_with_serial(const char *extra_args, int *sock_fd) +{ + int sock_fd_init; + char *sock_path, sock_dir[] =3D "/tmp/qtest-serial-XXXXXX"; + QTestState *qts; + + g_assert(mkdtemp(sock_dir)); + sock_path =3D g_strdup_printf("%s/sock", sock_dir); + + sock_fd_init =3D init_socket(sock_path); + + qts =3D qtest_initf("-chardev socket,id=3Ds0,path=3D%s,nowait " + "-serial chardev:s0 %s", + sock_path, extra_args); + + *sock_fd =3D socket_accept(sock_fd_init); + + unlink(sock_path); + g_free(sock_path); + rmdir(sock_dir); + + g_assert(*sock_fd >=3D 0); + + return qts; +} + void qtest_quit(QTestState *s) { g_hook_destroy_link(&abrt_hooks, g_hook_find_data(&abrt_hooks, TRUE, s= )); diff --git a/tests/libqtest.h b/tests/libqtest.h index 7ea94139b0..5937f91912 100644 --- a/tests/libqtest.h +++ b/tests/libqtest.h @@ -62,6 +62,17 @@ QTestState *qtest_init(const char *extra_args); */ QTestState *qtest_init_without_qmp_handshake(const char *extra_args); =20 +/** + * qtest_init_with_serial: + * @extra_args: other arguments to pass to QEMU. CAUTION: these + * arguments are subject to word splitting and shell evaluation. + * @sock_fd: pointer to store the socket file descriptor for + * connection with serial. + * + * Returns: #QTestState instance. + */ +QTestState *qtest_init_with_serial(const char *extra_args, int *sock_fd); + /** * qtest_quit: * @s: #QTestState instance to operate on. --=20 2.17.1