From nobody Mon Feb 9 16:51:22 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of redhat.com designates 207.211.31.81 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=1571827414; cv=none; d=zoho.com; s=zohoarc; b=FWU9xmAE8Df9Kb8IAg1wJyFhXf9RcloOmQt8zdCF/GMRF2UCg6W1GjlFnLsGJtwtTwQlq91AvzpROHexSSFzwhz/AYTTYykk+e0LCykoYBZPl/Fiu2fquSqMM9Bp8BheVWR+qtaenhM45IGLRULqYttFizH5/PGDyrcAecKesXo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571827414; 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=1a2wpu65C1w3YvJjcEKqFrENnTOOPrZbGk39mt75Jnk=; b=H/4tpqdCpFQkZw3lV3Tc3zXverl2WDa1tR2Sjd+ZV4cFushmTh/6gw5ED+WFnHZHNYvPdclpjJtub1OQMLDZSYR1b3a7SrtFvcceLnYgJHKPsg5xVxvHe8jBFEio5xHshCNYFhdH3KDkbZjCeGVZklY5cZrefN6aZ0odvGIyvlc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of redhat.com designates 207.211.31.81 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-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1571827414260455.79149904920075; Wed, 23 Oct 2019 03:43: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-105--USGOMurMgWiBxqqF1P5Sw-1; Wed, 23 Oct 2019 06:43:31 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 382871800DFF; Wed, 23 Oct 2019 10:43: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 118221001E91; Wed, 23 Oct 2019 10:43: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 C74A84EDA6; Wed, 23 Oct 2019 10:43:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x9NAhJH6020281 for ; Wed, 23 Oct 2019 06:43:19 -0400 Received: by smtp.corp.redhat.com (Postfix) id E1EDD60E1C; Wed, 23 Oct 2019 10:43:19 +0000 (UTC) Received: from kinshicho.redhat.com (unknown [10.40.205.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2083DBA79 for ; Wed, 23 Oct 2019 10:43:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1571827413; 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=1a2wpu65C1w3YvJjcEKqFrENnTOOPrZbGk39mt75Jnk=; b=GGIV3YxYEPZODYCq7VeZOTWU4Kq268s0NRUYPH47Bk2JMwTId9WTBdR/qqpa8SFOq9kLXx tk+6VOKv+vVle7hCnwt+qX4HBz9SikGl9QEPUAsaAH/ljonsuwdr2S/3NhDxOEe4ZbIS77 lZcRY7OuEq1omy90HD+j9BKWYbnxNqs= From: Andrea Bolognani To: libvir-list@redhat.com Date: Wed, 23 Oct 2019 12:42:56 +0200 Message-Id: <20191023104302.26669-7-abologna@redhat.com> In-Reply-To: <20191023104302.26669-1-abologna@redhat.com> References: <20191023104302.26669-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 06/12] tests: testQemuCapsIterate: Pass prefix and version to callback 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.84 on 10.5.11.22 X-MC-Unique: -USGOMurMgWiBxqqF1P5Sw-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Right now we're passing a "base" string that contains both, separated by an underscore. Some changes that we're going to introduce later will require us to have the version number on its own, and instead of delegating the task of splitting the two apart to the callback it make more sense to perform it upfront. This change results in quite a bit of churn because we're now using the version number only, without the prefix, to calculate the dummy microcodeVersion. Signed-off-by: Andrea Bolognani --- .../caps_1.5.3.x86_64.xml | 2 +- .../caps_1.6.0.x86_64.xml | 2 +- .../caps_1.7.0.x86_64.xml | 2 +- .../caps_2.1.1.x86_64.xml | 2 +- .../caps_2.10.0.aarch64.xml | 2 +- .../caps_2.10.0.ppc64.xml | 2 +- .../caps_2.10.0.s390x.xml | 2 +- .../caps_2.10.0.x86_64.xml | 2 +- .../caps_2.11.0.s390x.xml | 2 +- .../caps_2.11.0.x86_64.xml | 2 +- .../caps_2.12.0.aarch64.xml | 2 +- .../caps_2.12.0.ppc64.xml | 2 +- .../caps_2.12.0.s390x.xml | 2 +- .../caps_2.12.0.x86_64.xml | 2 +- .../caps_2.4.0.x86_64.xml | 2 +- .../caps_2.5.0.x86_64.xml | 2 +- .../caps_2.6.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 2 +- .../caps_2.6.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.7.0.s390x.xml | 2 +- .../caps_2.7.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +- .../caps_2.8.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 +- .../caps_2.9.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 2 +- .../caps_3.0.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 2 +- .../caps_3.1.0.x86_64.xml | 2 +- .../caps_4.0.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 2 +- .../caps_4.0.0.x86_64.xml | 2 +- .../caps_4.1.0.x86_64.xml | 2 +- .../caps_4.2.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 +- .../caps_4.2.0.x86_64.xml | 2 +- tests/qemucapabilitiestest.c | 29 +++++++++++-------- tests/qemucaps2xmltest.c | 15 ++++++---- tests/testutilsqemu.c | 16 ++++++---- tests/testutilsqemu.h | 3 +- 43 files changed, 78 insertions(+), 63 deletions(-) diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_1.5.3.x86_64.xml index 780d75a513..8b573070d5 100644 --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml @@ -85,7 +85,7 @@ 1005003 0 - 43100763 + 43100245 x86_64 [... many more changes exactly like this one ...] diff --git a/tests/qemucapabilitiestest.c b/tests/qemucapabilitiestest.c index cc2242df50..8fa4104f20 100644 --- a/tests/qemucapabilitiestest.c +++ b/tests/qemucapabilitiestest.c @@ -37,9 +37,10 @@ struct _testQemuData { virQEMUDriver driver; const char *inputDir; const char *outputDir; + const char *prefix; + const char *version; const char *archName; const char *suffix; - const char *base; int ret; }; =20 @@ -78,11 +79,12 @@ testQemuCaps(const void *opaque) unsigned int fakeMicrocodeVersion =3D 0; const char *p; =20 - if (virAsprintf(&repliesFile, "%s/%s.%s.%s", - data->inputDir, data->base, + if (virAsprintf(&repliesFile, "%s/%s_%s.%s.%s", + data->inputDir, data->prefix, data->version, data->archName, data->suffix) < 0 || - virAsprintf(&capsFile, "%s/%s.%s.xml", - data->outputDir, data->base, data->archName) < 0) + virAsprintf(&capsFile, "%s/%s_%s.%s.xml", + data->outputDir, data->prefix, data->version, + data->archName) < 0) goto cleanup; =20 if (!(mon =3D qemuMonitorTestNewFromFileFull(repliesFile, &data->drive= r, NULL, @@ -114,7 +116,7 @@ testQemuCaps(const void *opaque) =20 fakeMicrocodeVersion *=3D 100000; =20 - for (p =3D data->base; *p; p++) + for (p =3D data->version; *p; p++) fakeMicrocodeVersion +=3D *p; =20 virQEMUCapsSetMicrocodeVersion(capsActual, fakeMicrocodeVersion); @@ -148,8 +150,9 @@ testQemuCapsCopy(const void *opaque) virQEMUCapsPtr copy =3D NULL; char *actual =3D NULL; =20 - if (virAsprintf(&capsFile, "%s/%s.%s.xml", - data->outputDir, data->base, data->archName) < 0) + if (virAsprintf(&capsFile, "%s/%s_%s.%s.xml", + data->outputDir, data->prefix, data->version, + data->archName) < 0) goto cleanup; =20 if (!(caps =3D virCapabilitiesNew(virArchFromString(data->archName), @@ -182,7 +185,8 @@ testQemuCapsCopy(const void *opaque) =20 static int doCapsTest(const char *inputDir, - const char *base, + const char *prefix, + const char *version, const char *archName, const char *suffix, void *opaque) @@ -191,13 +195,14 @@ doCapsTest(const char *inputDir, g_autofree char *title =3D NULL; g_autofree char *copyTitle =3D NULL; =20 - if (virAsprintf(&title, "%s (%s)", base, archName) < 0 || - virAsprintf(©Title, "copy %s (%s)", base, archName) < 0) { + if (virAsprintf(&title, "%s (%s)", version, archName) < 0 || + virAsprintf(©Title, "copy %s (%s)", version, archName) < 0) { return -1; } =20 data->inputDir =3D inputDir; - data->base =3D base; + data->prefix =3D prefix; + data->version =3D version; data->archName =3D archName; data->suffix =3D suffix; =20 diff --git a/tests/qemucaps2xmltest.c b/tests/qemucaps2xmltest.c index 7a41e9cdd3..365efbe4b1 100644 --- a/tests/qemucaps2xmltest.c +++ b/tests/qemucaps2xmltest.c @@ -31,7 +31,8 @@ typedef testQemuData *testQemuDataPtr; struct _testQemuData { const char *inputDir; const char *outputDir; - const char *base; + const char *prefix; + const char *version; const char *archName; const char *suffix; int ret; @@ -146,8 +147,8 @@ testQemuCapsXML(const void *opaque) data->outputDir, data->archName) < 0) goto cleanup; =20 - if (virAsprintf(&capsFile, "%s/%s.%s.%s", - data->inputDir, data->base, + if (virAsprintf(&capsFile, "%s/%s_%s.%s.%s", + data->inputDir, data->prefix, data->version, data->archName, data->suffix) < 0) goto cleanup; =20 @@ -176,7 +177,8 @@ testQemuCapsXML(const void *opaque) =20 static int doCapsTest(const char *inputDir, - const char *base, + const char *prefix, + const char *version, const char *archName, const char *suffix, void *opaque) @@ -184,11 +186,12 @@ doCapsTest(const char *inputDir, testQemuDataPtr data =3D (testQemuDataPtr) opaque; g_autofree char *title =3D NULL; =20 - if (virAsprintf(&title, "%s (%s)", base, archName) < 0) + if (virAsprintf(&title, "%s (%s)", version, archName) < 0) return -1; =20 data->inputDir =3D inputDir; - data->base =3D base; + data->prefix =3D prefix; + data->version =3D version; data->archName =3D archName; data->suffix =3D suffix; =20 diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index 1f0270f488..54d6b1a0ac 100644 --- a/tests/testutilsqemu.c +++ b/tests/testutilsqemu.c @@ -917,22 +917,28 @@ testQemuCapsIterate(const char *suffix, =20 while ((rc =3D virDirRead(dir, &ent, TEST_QEMU_CAPS_PATH)) > 0) { g_autofree char *tmp =3D g_strdup(ent->d_name); - char *base =3D NULL; + char *version =3D NULL; char *archName =3D NULL; =20 /* Strip the trailing suffix, moving on if it's not present */ if (!virStringStripSuffix(tmp, suffix)) continue; =20 + /* Strip the leading prefix */ + if (!(version =3D STRSKIP(tmp, "caps_"))) { + VIR_TEST_VERBOSE("malformed file name '%s'", ent->d_name); + goto cleanup; + } + /* Find the last dot */ if (!(archName =3D strrchr(tmp, '.'))) { VIR_TEST_VERBOSE("malformed file name '%s'", ent->d_name); goto cleanup; } =20 - /* The base name is everything before the last dot, and - * the architecture name everything after it */ - base =3D tmp; + /* The version number and the architecture name are separated by + * a dot: overwriting that dot with \0 results in both being usable + * as independent, null-terminated strings */ archName[0] =3D '\0'; archName++; =20 @@ -942,7 +948,7 @@ testQemuCapsIterate(const char *suffix, * to make it nicer to rebuild the original file name from inside * the callback. */ - if (callback(TEST_QEMU_CAPS_PATH, base, + if (callback(TEST_QEMU_CAPS_PATH, "caps", version, archName, suffix + 1, opaque) < 0) { goto cleanup; } diff --git a/tests/testutilsqemu.h b/tests/testutilsqemu.h index 2c8c4960e9..714a95bb7a 100644 --- a/tests/testutilsqemu.h +++ b/tests/testutilsqemu.h @@ -97,7 +97,8 @@ char *testQemuGetLatestCapsForArch(const char *arch, virHashTablePtr testQemuGetLatestCaps(void); =20 typedef int (*testQemuCapsIterateCallback)(const char *inputDir, - const char *base, + const char *prefix, + const char *version, const char *archName, const char *suffix, void *opaque); --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list