From nobody Sun Feb 8 22:49:29 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1617808235; cv=none; d=zohomail.com; s=zohoarc; b=OYMW7olMYnLjX+xmwrCOEf9i4gMHFnCILFAMMKKyUlC8+bWkL3HyLxt3vOJvaH55haqsFaR3OV9UZXGE5epwI3Qrjb5R+jOIRsuYoF6P6YkmwZacR1KkBXVh+0sO2K6/KWO5/gRRYm11NO2yom2S5v2Yr4Yh/mG42N1Fr1zPeOU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617808235; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dZMEYcUz8qMxxSnqAwuYz9P9brZRV9KXpFHIIdPjlxI=; b=eHp+D/PBS70jL7LJxCvNTAR8vNZMAaN5cXiKhlFgXCbIifIDwiIy6oMZAjDyw+S96+8+cmqCLPMY09rswAKGKYcbztInGS9+OjpXem+dk4WLwQ7lT4FMwaiz9ZqaU0+JcUVkSHPvjVqDVNH6zHFY7RtT47I8DXwO5Via999m6Gc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1617808234991161.16998314214754; Wed, 7 Apr 2021 08:10:34 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-462-RH6uweU9MuuQrwcvsdCD2Q-1; Wed, 07 Apr 2021 11:10:31 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 688A5107ACE3; Wed, 7 Apr 2021 15:10:26 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 447F01B49F; Wed, 7 Apr 2021 15:10:26 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id D2F6555348; Wed, 7 Apr 2021 15:10:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 137FAKVC031922 for ; Wed, 7 Apr 2021 11:10:20 -0400 Received: by smtp.corp.redhat.com (Postfix) id 0F7E819D9F; Wed, 7 Apr 2021 15:10:20 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6AB0319D9D for ; Wed, 7 Apr 2021 15:10:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1617808233; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=dZMEYcUz8qMxxSnqAwuYz9P9brZRV9KXpFHIIdPjlxI=; b=DgqxSAG96CVmiPNbNHTXQeswkwAwIrNVmNrH75TvE4DMRoxjM1tV+sXRAebLF2Kz+b1Bzh rsvENyge8cq/zgBrbKG09O1ia7lPLS8UzLrK8FLRMtqraF8VXr6KMQsL3D8/YLL810K3+t Sxyu+by3PCn0EHXMuz29d43uomzaT9A= X-MC-Unique: RH6uweU9MuuQrwcvsdCD2Q-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 13/24] virTestCompareToFile: Add possibility to skip unwrapping of input file Date: Wed, 7 Apr 2021 17:09:36 +0200 Message-Id: <5975bf0b21e3a07d74f44eb285cd0f3287ceaa7d.1617807877.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" In some cases we might want to compare already wrapped data against a wrapped file. Introduce virTestCompareToFileFull with a 'unwrap' boolean which will control the unwrapping. Signed-off-by: Peter Krempa --- tests/testutils.c | 46 +++++++++++++++++++++++++++++++++++----------- tests/testutils.h | 3 +++ 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/tests/testutils.c b/tests/testutils.c index 6b104405f7..0f6b3a9705 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -352,6 +352,7 @@ virTestRewrapFile(const char *filename) * @param actual: actual output text * @param actualName: name designator of the actual text * @param regenerate: enable or disable regenerate functionality + * @param rewrap: enable or disable rewrapping when regenerating * * Display expected and actual output text, trimmed to first and last * characters at which differences occur. Displays names of the text strin= gs if @@ -363,7 +364,8 @@ virTestDifferenceFullInternal(FILE *stream, const char *expectName, const char *actual, const char *actualName, - bool regenerate) + bool regenerate, + bool rewrap) { const char *expectStart; const char *expectEnd; @@ -386,7 +388,8 @@ virTestDifferenceFullInternal(FILE *stream, return -1; } - if (virTestRewrapFile(expectName) < 0) { + if (rewrap && + virTestRewrapFile(expectName) < 0) { virDispatchError(NULL); return -1; } @@ -454,7 +457,7 @@ virTestDifferenceFull(FILE *stream, const char *actualName) { return virTestDifferenceFullInternal(stream, expect, expectName, - actual, actualName, true); + actual, actualName, true, true); } /** @@ -477,7 +480,7 @@ virTestDifferenceFullNoRegenerate(FILE *stream, const char *actualName) { return virTestDifferenceFullInternal(stream, expect, expectName, - actual, actualName, false); + actual, actualName, false, false); } /** @@ -566,12 +569,14 @@ int virTestDifferenceBin(FILE *stream, /* * @param actual: String input content * @param filename: File to compare @actual against + * @param unwrap: Remove '\\\n' sequences from file content before compari= son * * If @actual is NULL, it's treated as an empty string. */ int -virTestCompareToFile(const char *actual, - const char *filename) +virTestCompareToFileFull(const char *actual, + const char *filename, + bool unwrap) { g_autofree char *filecontent =3D NULL; g_autofree char *fixedcontent =3D NULL; @@ -580,8 +585,13 @@ virTestCompareToFile(const char *actual, if (!cmpcontent) cmpcontent =3D ""; - if (virTestLoadFile(filename, &filecontent) < 0 && !virTestGetRegenera= te()) - return -1; + if (unwrap) { + if (virTestLoadFile(filename, &filecontent) < 0 && !virTestGetRege= nerate()) + return -1; + } else { + if (virFileReadAll(filename, INT_MAX, &filecontent) < 0 && !virTes= tGetRegenerate()) + return -1; + } if (filecontent) { size_t filecontentLen =3D strlen(filecontent); @@ -596,15 +606,29 @@ virTestCompareToFile(const char *actual, } if (STRNEQ_NULLABLE(cmpcontent, filecontent)) { - virTestDifferenceFull(stderr, - filecontent, filename, - cmpcontent, NULL); + virTestDifferenceFullInternal(stderr, filecontent, filename, + cmpcontent, NULL, true, unwrap); return -1; } return 0; } + +/* + * @param actual: String input content + * @param filename: File to compare @actual against + * + * If @actual is NULL, it's treated as an empty string. + */ +int +virTestCompareToFile(const char *actual, + const char *filename) +{ + return virTestCompareToFileFull(actual, filename, true); +} + + int virTestCompareToULL(unsigned long long expect, unsigned long long actual) diff --git a/tests/testutils.h b/tests/testutils.h index 4a49c1ca65..da8ca2dea5 100644 --- a/tests/testutils.h +++ b/tests/testutils.h @@ -63,6 +63,9 @@ int virTestDifferenceBin(FILE *stream, const char *expect, const char *actual, size_t length); +int virTestCompareToFileFull(const char *actual, + const char *filename, + bool unwrap); int virTestCompareToFile(const char *actual, const char *filename); int virTestCompareToString(const char *expect, --=20 2.30.2