From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 74C1DC6FA9E for ; Fri, 24 Feb 2023 04:31:16 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVPjH-00077Z-Ro; Thu, 23 Feb 2023 23:30:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVNSq-0001qR-2u for qemu-devel@nongnu.org; Thu, 23 Feb 2023 21:05:36 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVNSo-0007Oh-3B for qemu-devel@nongnu.org; Thu, 23 Feb 2023 21:05:35 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 0FE415C0107; Thu, 23 Feb 2023 21:05:32 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 23 Feb 2023 21:05:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dxuuu.xyz; h=cc :cc:content-transfer-encoding:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=1677204332; x=1677290732; bh=/mtwo2KYCh2HRjIqcqyTptRxF iwqStgL0AnmN1J/q5w=; b=vNYgIzteRHcHPRGtEzULGzXeimdBtVdfEIJRLXal8 7H1keMrdZfZI74rHn3uAIg84Kj7sGc7D/r8Duos4qy5SNvZW4rShrIMf0PZlQrYf /6L6THp5975tBnTjqyB55pzFv0RjJlWGsAYCHbI0oVI05PBx/5KtuCHoGzEMuhHR eGAOE/LSBEUKSVjs49L737ktlujH9m7XPlaodAWoUxL4gm/eb4qauEUSaHrnS6Ob jIbxyKlXDhpaCfzxRa2KiSPQUOzwg9U9SZ+55Dqu02BRoQAoH7m+V9rkPl8509bw 8DGx41vqFRKLX616s0sGO+MGMIn2aBsGWgV735NXw61Nw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1677204332; x=1677290732; bh=/mtwo2KYCh2HRjIqcqyTptRxFiwqStgL0An mN1J/q5w=; b=RVTD58s67xzEDEpLwvRXZbtydhUBtY5ZjVT37oVqdOMPwUMkLln VUokgmFRgEf7LduM7AQJB6MtsfZafwsYGCTvzJNiuv7WhbbDI3BDQxmxFEVQDt3S 6B1DtvVoK+wL7fM5oPHTs+NJGzsQRiy91DmHe0ssqiytfuCjQd/E9ILOFvY62IXk UmhnZw6wnWWJvXg45H/egzzqYlzKs4/uf5tBmNZHaZ53UhzHX5Lv9wwVhv9ozlEr nF3czxy+Z64PKYBJDN7b1Nh/2ZRAzWqVHwNFjPas4OJ+t2Td6hEcqTaexP0nPm6I K9plU1XbdRtPzvNKb159AtFyIHswX7iftJw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekvddgfeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffucdljedtmdenucfjughrpefhvf evufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeffrghnihgvlhcuighuuceougig uhesugiguhhuuhdrgiihiieqnecuggftrfgrthhtvghrnhepvdeggfetgfelhefhueefke duvdfguedvhfegleejudduffffgfetueduieeikeejnecuvehluhhsthgvrhfuihiivgep tdenucfrrghrrghmpehmrghilhhfrhhomhepugiguhesugiguhhuuhdrgiihii X-ME-Proxy: Feedback-ID: i6a694271:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 23 Feb 2023 21:05:31 -0500 (EST) From: Daniel Xu To: michael.roth@amd.com, kkostiuk@redhat.com Cc: qemu-devel@nongnu.org, dxu@dxuuu.xyz Subject: [PATCH 0/3] qga: Add optional `merge-output` flag to guest-exec QAPI Date: Thu, 23 Feb 2023 19:05:12 -0700 Message-Id: X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=66.111.4.27; envelope-from=dxu@dxuuu.xyz; helo=out3-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 23 Feb 2023 23:30:42 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Currently, the captured output (via `capture-output`) is segregated into separate GuestExecStatus fields (`out-data` and `err-data`). This means that downstream consumers have no way to reassemble the captured data back into the original stream. This is relevant for chatty and semi-interactive (ie. read only) CLI tools. Such tools may deliberately interleave stdout and stderr for visual effect. If segregated, the output becomes harder to visually understand. This patchset adds support for merging stderr and stdout output streams via a new QAPI flag. Daniel Xu (3): qga: test: Use absolute path to test data qga: Add optional `merge-output` flag to guest-exec qapi qga: test: Add tests for `merge-output` flag qga/commands.c | 13 +++- qga/qapi-schema.json | 6 +- tests/unit/test-qga.c | 135 ++++++++++++++++++++++++++++++++++++------ 3 files changed, 133 insertions(+), 21 deletions(-) -- 2.39.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 336ABC61DA4 for ; Fri, 24 Feb 2023 04:31:20 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVPis-00073h-Db; Thu, 23 Feb 2023 23:30:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVLqT-0005R8-IA for qemu-devel@nongnu.org; Thu, 23 Feb 2023 19:21:53 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVLqR-0000CY-Sm for qemu-devel@nongnu.org; Thu, 23 Feb 2023 19:21:53 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id BE4145C00D8; Thu, 23 Feb 2023 19:21:48 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Thu, 23 Feb 2023 19:21:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dxuuu.xyz; h=cc :content-transfer-encoding:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=1677198108; x=1677284508; bh=/mtwo2KYCh2HRjIqcqyTptRxF iwqStgL0AnmN1J/q5w=; b=wv4hiZv0JciIEv6eOG0CbKC5T+5TzthGFVpbg14ZV jlUENoB0xXkt0CGgNz1s/F3Pdy11xzJ2s8snqFso2AprS3351G1sWeYJi5VwqwYn dDXuJeORD4LsZv1bcuZUikjvck8Es/t2nCI15FVJkjbMZnDYsnBPY1AIKqA05mR4 Tu5rsOJG5i0CiWsskw2JxQiav1hxm6y+f7UzU94Om80NeXtds0hrJGGyUIlvvLvY ixKc3gO/rssLNUhVDVsvAdL+OeVxMFMUdhqHIwyv7i3Eq2uTAbgxXg++on7V2cGV ne3OMF+Q9gesI5o3oSHFFEHaHiaq+sDEGMCb59ouerdVw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1677198108; x=1677284508; bh=/mtwo2KYCh2HRjIqcqyTptRxFiwqStgL0An mN1J/q5w=; b=LehiwSTwYK8V5UsleYslYa+zt0sfj4WGJ4Sv3udE3u0XaZLorQr ZAoScnZGMQ4sbiN1kKXVZVHKcbvcaueGG1htAKNaiFLrHHlHDlQ0Fi/SIklwI/Mm /jVzAq4P27ysjodJaA53j4Wkzc293tdYxz2mv4kDAkDLCIKhqPv7qO4N5q5Q2gXa YORvTRaznBoq4117m8ikRdcu4PaNabetaSyvCliE1k/3k90qvcjIuDturjvWIKRp u+713XTtZy/yBWG4Foy9XrsDrcgTZkCX67LWDoDpvz8vCsUqXK/MDKxIkQ9gaHA5 /2ltxKU4WjDCNvNRtCesp5UV4ksHHcSLB2A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekvddgudekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne gfrhhlucfvnfffucdljedtmdenucfjughrpefhvffufffkofgggfestdekredtredttden ucfhrhhomhepffgrnhhivghlucgiuhcuoegugihusegugihuuhhurdighiiiqeenucggtf frrghtthgvrhhnpeeifffgledvffeitdeljedvteeffeeivdefheeiveevjeduieeigfet ieevieffffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpegugihusegugihuuhhurdighiii X-ME-Proxy: Feedback-ID: i6a694271:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 23 Feb 2023 19:21:48 -0500 (EST) From: Daniel Xu To: Michael Roth , Konstantin Kostiuk , qemu-devel@nongnu.org Subject: [PATCH 0/3] qga: Add optional `merge-output` flag to guest-exec QAPI Date: Thu, 23 Feb 2023 17:21:29 -0700 Message-ID: X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=66.111.4.29; envelope-from=dxu@dxuuu.xyz; helo=out5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 23 Feb 2023 23:30:16 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Message-ID: <20230224002129.YrkBkAsrO7KsjnHQTnsvq6tZO28xIKUiXYWrVtAi6Sw@z> Currently, the captured output (via `capture-output`) is segregated into separate GuestExecStatus fields (`out-data` and `err-data`). This means that downstream consumers have no way to reassemble the captured data back into the original stream. This is relevant for chatty and semi-interactive (ie. read only) CLI tools. Such tools may deliberately interleave stdout and stderr for visual effect. If segregated, the output becomes harder to visually understand. This patchset adds support for merging stderr and stdout output streams via a new QAPI flag. Daniel Xu (3): qga: test: Use absolute path to test data qga: Add optional `merge-output` flag to guest-exec qapi qga: test: Add tests for `merge-output` flag qga/commands.c | 13 +++- qga/qapi-schema.json | 6 +- tests/unit/test-qga.c | 135 ++++++++++++++++++++++++++++++++++++------ 3 files changed, 133 insertions(+), 21 deletions(-) -- 2.39.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DD4F1C61DA4 for ; Fri, 24 Feb 2023 04:31:48 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVPjB-00075m-Kq; Thu, 23 Feb 2023 23:30:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVM3C-00067Q-Nq for qemu-devel@nongnu.org; Thu, 23 Feb 2023 19:35:02 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVM3B-0003mD-7c for qemu-devel@nongnu.org; Thu, 23 Feb 2023 19:35:02 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 709995C00E3; Thu, 23 Feb 2023 19:34:59 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 23 Feb 2023 19:34:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dxuuu.xyz; h=cc :cc:content-transfer-encoding:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=1677198899; x=1677285299; bh=/mtwo2KYCh2HRjIqcqyTptRxF iwqStgL0AnmN1J/q5w=; b=ST9JvWTh4SC0IhRiKiEhAlKkHftaYNXjSgpeeBt/E 2rXFj1RvIU0OUOJL06ABMojSwGyz6MWuzoxv2Tj7W3yBjTHVk5Yd6AfgaSb5sg+c GTHE62qdoIYJ9A6dvj753mD+PhuV5Yr5tqBTZDK+Bf5pthEfYCrBCSXO48TWiGYd ShkSm6U2aDh1tQht73/WwlnuQvxYw8y5iZh9EKFZkJvacbuDk3wBOWUJlQddHT/k xPiW5F/BcQYOZckSVFXw0rxbdNUR98xsVfLHPq/BlseqgIIF0TNg5kDdf6tUWEzs 6I/biUqEvaUlyBg/YNGbdKxKFvET6T1fr5x1IxiG82u/w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1677198899; x=1677285299; bh=/mtwo2KYCh2HRjIqcqyTptRxFiwqStgL0An mN1J/q5w=; b=ocOBqOiXCoB/0e7Mz2a+dpVhAwyVubI3BSGT5nQfHcZaslL2SuH s9mBE8BFmneGrLoPrA0dL6iRWeODT83BEJLV4wLWzaaII2IN8todqZEIDzuTURDk rVBGCmOLo6NlG8ZnoghfGSmnHA0gHMiFEd9ZxiI6J97dvbdDLv1EMBjQb9gOxUo1 BTV06C536cRlrR69VKciOQ8qN5Zdq2VPnwrAp8DXuLtBI2MBYcZsbWMpKpT810+x KKEGJoFkX5LSz9jkzP6m+6bBkmJF7GZfTkl6pdF7ZEp0U7j9DoKXf0ocEdNad1fC dIgby9kDrhOJvB0nmsfuCmuoqihhhhF0evg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekvddgvdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffucdljedtmdenucfjughrpefhvf evufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeffrghnihgvlhcuighuuceougig uhesugiguhhuuhdrgiihiieqnecuggftrfgrthhtvghrnhepvdeggfetgfelhefhueefke duvdfguedvhfegleejudduffffgfetueduieeikeejnecuvehluhhsthgvrhfuihiivgep tdenucfrrghrrghmpehmrghilhhfrhhomhepugiguhesugiguhhuuhdrgiihii X-ME-Proxy: Feedback-ID: i6a694271:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 23 Feb 2023 19:34:58 -0500 (EST) From: Daniel Xu To: michael.roth@amd.com, kkostiuk@redhat.com Cc: qemu-devel@nongnu.org Subject: [PATCH 0/3] qga: Add optional `merge-output` flag to guest-exec QAPI Date: Thu, 23 Feb 2023 17:34:32 -0700 Message-ID: X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=66.111.4.29; envelope-from=dxu@dxuuu.xyz; helo=out5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 23 Feb 2023 23:30:32 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Message-ID: <20230224003432.wA8vDTbzB-t61xSIMz4JiTFGnO35yYrQsgXL1s2cSRI@z> Currently, the captured output (via `capture-output`) is segregated into separate GuestExecStatus fields (`out-data` and `err-data`). This means that downstream consumers have no way to reassemble the captured data back into the original stream. This is relevant for chatty and semi-interactive (ie. read only) CLI tools. Such tools may deliberately interleave stdout and stderr for visual effect. If segregated, the output becomes harder to visually understand. This patchset adds support for merging stderr and stdout output streams via a new QAPI flag. Daniel Xu (3): qga: test: Use absolute path to test data qga: Add optional `merge-output` flag to guest-exec qapi qga: test: Add tests for `merge-output` flag qga/commands.c | 13 +++- qga/qapi-schema.json | 6 +- tests/unit/test-qga.c | 135 ++++++++++++++++++++++++++++++++++++------ 3 files changed, 133 insertions(+), 21 deletions(-) -- 2.39.1