From patchwork Fri Feb 24 02:05:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Xu X-Patchwork-Id: 1747302 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=dxuuu.xyz header.i=@dxuuu.xyz header.a=rsa-sha256 header.s=fm3 header.b=vNYgIzte; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm1 header.b=RVTD58s6; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PNH5g6CFJz2466 for ; Fri, 24 Feb 2023 15:31:18 +1100 (AEDT) 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 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.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(-)