From nobody Tue Feb 10 03:39:50 2026 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1711130322880629.7568151881426; Fri, 22 Mar 2024 10:58:42 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id B837B1B09; Fri, 22 Mar 2024 13:58:41 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 4FBA31B83; Fri, 22 Mar 2024 13:56:29 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 89F591A93; Fri, 22 Mar 2024 13:56:24 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 0F0E91A62 for ; Fri, 22 Mar 2024 13:56:24 -0400 (EDT) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-15-ixfPpy2vObCdQQzGE30Hzg-1; Fri, 22 Mar 2024 13:56:22 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 649B138012F7 for ; Fri, 22 Mar 2024 17:56:21 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.6]) by smtp.corp.redhat.com (Postfix) with ESMTP id D3E2D492BDD for ; Fri, 22 Mar 2024 17:56:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: ixfPpy2vObCdQQzGE30Hzg-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 02/35] virshtest: Allow to test failure of commands Date: Fri, 22 Mar 2024 18:55:40 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: WB3XLTRB25R3IWUUX7Y4ZLQPX43VNKTS X-Message-ID-Hash: WB3XLTRB25R3IWUUX7Y4ZLQPX43VNKTS X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1711130324077100001 Modify the test code so that if virsh fails both 'stdout' and 'stderr' are captured and compared against the output and also the return value is checked by appending it to the output. Signed-off-by: Peter Krempa --- tests/virshtest.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/tests/virshtest.c b/tests/virshtest.c index 5a5068dc78..4097c1d427 100644 --- a/tests/virshtest.c +++ b/tests/virshtest.c @@ -113,36 +113,37 @@ testCompareOutputLit(const char *expectFile, const char *filter, const char *const argv[]) { - g_autofree char *actualData =3D NULL; + g_autofree char *actual =3D NULL; const char *empty =3D ""; g_autoptr(virCommand) cmd =3D NULL; - g_autofree char *errbuf =3D NULL; + int exitstatus =3D 0; cmd =3D virCommandNewArgs(argv); virCommandAddEnvString(cmd, "LANG=3DC"); virCommandSetInputBuffer(cmd, empty); - virCommandSetOutputBuffer(cmd, &actualData); - virCommandSetErrorBuffer(cmd, &errbuf); + virCommandSetOutputBuffer(cmd, &actual); + virCommandSetErrorBuffer(cmd, &actual); - if (virCommandRun(cmd, NULL) < 0) + if (virCommandRun(cmd, &exitstatus) < 0) return -1; - if (STRNEQ(errbuf, "")) { - fprintf(stderr, "Command reported error: %s", errbuf); - return -1; + if (exitstatus !=3D 0) { + g_autofree char *tmp =3D g_steal_pointer(&actual); + + actual =3D g_strdup_printf("%s\n## Exit code: %d\n", tmp, exitstat= us); } - if (filter && testFilterLine(actualData, filter) < 0) + if (filter && testFilterLine(actual, filter) < 0) return -1; if (expectData) { - if (virTestCompareToString(expectData, actualData) < 0) + if (virTestCompareToString(expectData, actual) < 0) return -1; } if (expectFile) { - if (virTestCompareToFileFull(actualData, expectFile, false) < 0) + if (virTestCompareToFileFull(actual, expectFile, false) < 0) return -1; } --=20 2.44.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org