From: Andrea Bolognani Date: Tue, 22 Oct 2019 14:08:10 +0000 (+0200) Subject: tests: testQemuCapsIterate: Pass prefix and version to callback X-Git-Tag: v5.9.0-rc1~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c4d6465aa7ba1c2da067baa759afedb911da4b65;p=thirdparty%2Flibvirt.git tests: testQemuCapsIterate: Pass prefix and version to callback 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 Reviewed-by: Jiri Denemark --- diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/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 diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml index 90a8873cd6..743b0a3dd7 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml @@ -90,7 +90,7 @@ 1006000 0 - 43100761 + 43100243 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml index c3d26c61cb..a23d1c6206 100644 --- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml @@ -92,7 +92,7 @@ 1007000 0 - 43100762 + 43100244 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index f416071149..75d5371d3f 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -108,7 +108,7 @@ 2001001 0 - 43100758 + 43100240 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml index 9404e66144..f0bf003528 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml @@ -141,7 +141,7 @@ 2010000 0 - 61700805 + 61700287 (v2.10.0) aarch64 diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml index 162fb1f035..93c2103b65 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml @@ -140,7 +140,7 @@ 2010000 0 - 42900805 + 42900287 (v2.10.0) ppc64 diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml index 058eb32c46..61acfa3260 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml @@ -107,7 +107,7 @@ 2010000 0 - 39100805 + 39100287 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml index 2788fd9afe..875ec5f615 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml @@ -183,7 +183,7 @@ 2010000 0 - 43100805 + 43100287 (v2.10.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml index 425613104a..f37d12c8ae 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml @@ -114,7 +114,7 @@ 2011000 0 - 39100806 + 39100288 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml index 69f7fc2e4a..a69b632917 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml @@ -189,7 +189,7 @@ 2011000 0 - 43100806 + 43100288 (v2.11.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml index 614fd14fb1..1787248110 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml @@ -155,7 +155,7 @@ 2012000 0 - 61700807 + 61700289 v2.12.0 aarch64 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml index ede28439cd..5f4d657170 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml @@ -153,7 +153,7 @@ 2011090 0 - 42900807 + 42900289 v2.12.0-rc0 ppc64 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml index 48be96d69c..4ac0741018 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml @@ -125,7 +125,7 @@ 2012000 0 - 39100807 + 39100289 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml index 61b3602c48..2952b5a799 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -197,7 +197,7 @@ 2011090 0 - 43100807 + 43100289 v2.12.0-rc0 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml index 8760c5ceb8..31d7f172ee 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml @@ -134,7 +134,7 @@ 2004000 0 - 43100760 + 43100242 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml index c4e6a614d0..0cc922c0a2 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml @@ -140,7 +140,7 @@ 2005000 0 - 43100761 + 43100243 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml index 3c72072b64..a772582152 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml @@ -124,7 +124,7 @@ 2006000 0 - 61700762 + 61700244 aarch64 diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml index 64c2e6eadc..2961c2552f 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml @@ -119,7 +119,7 @@ 2006000 0 - 42900762 + 42900244 ppc64 diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml index 2f27b8b27e..633444de95 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -152,7 +152,7 @@ 2006000 0 - 43100762 + 43100244 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml index 0701ce24bf..e9fc059065 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml @@ -91,7 +91,7 @@ 2007000 0 - 39100763 + 39100245 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml index d8a6b618b9..ffb5c59491 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml @@ -157,7 +157,7 @@ 2007000 0 - 43100763 + 43100245 (v2.7.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml index 5b04416867..75b4fbdc49 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -96,7 +96,7 @@ 2007093 0 - 39100764 + 39100246 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml index 5c3eaa82fe..7ee52a95e7 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml @@ -160,7 +160,7 @@ 2008000 0 - 43100764 + 43100246 (v2.8.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml index 17c2c8e12e..b1ade837a9 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml @@ -132,7 +132,7 @@ 2009000 0 - 42900765 + 42900247 (v2.9.0) ppc64 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml index d5feb7bca4..9d1d015e9b 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml @@ -101,7 +101,7 @@ 2009000 0 - 39100765 + 39100247 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml index 0c2586e0e5..0e749b069f 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -177,7 +177,7 @@ 2009000 0 - 43100765 + 43100247 (v2.9.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml index 147e0dcbd6..6ff4254461 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml @@ -155,7 +155,7 @@ 2012050 0 - 42900757 + 42900239 v2.12.0-1689-g518d23a ppc64 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml index cad53abfd0..38f3864444 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml @@ -128,7 +128,7 @@ 3000000 0 - 39100757 + 39100239 s390x diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml index 8dcab37d7c..dce80e9ba0 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -202,7 +202,7 @@ 3000000 0 - 43100757 + 43100239 v3.0.0 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml index 4685081945..1ce578de00 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml @@ -159,7 +159,7 @@ 3000091 0 - 42900758 + 42900240 v3.1.0-rc1-74-g3c035a41dc ppc64 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml index b5561aed2c..dac2fdc54d 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -205,7 +205,7 @@ 3000092 0 - 43100758 + 43100240 v3.1.0-rc2-48-g039d4e3df0 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml index 8bc373da53..66e3ca9205 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml @@ -168,7 +168,7 @@ 4000000 0 - 61700758 + 61700240 v4.0.0 aarch64 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml index b99abd69de..1a4c357308 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml @@ -173,7 +173,7 @@ 4000000 0 - 42900758 + 42900240 v4.0.0 ppc64 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml index d26cb3388c..e65040fbb0 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml @@ -136,7 +136,7 @@ 4000000 0 - 39100758 + 39100240 v4.0.0 s390x diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml index 6d44cffb9c..e16d4af5a9 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml @@ -210,7 +210,7 @@ 4000000 0 - 43100758 + 43100240 v4.0.0 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml index fcae11b6ef..36b07579b2 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -214,7 +214,7 @@ 4001000 0 - 43100759 + 43100241 v4.1.0 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index e75b39ff16..7b13da4dca 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -169,7 +169,7 @@ 4001050 0 - 61700760 + 61700242 v4.1.0-1378-g98b2e3c9ab aarch64 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 4a4031e509..561d955247 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -175,7 +175,7 @@ 4001050 0 - 42900760 + 42900242 v4.1.0-1378-g98b2e3c9ab ppc64 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index ab884239fe..963afbbc9e 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -214,7 +214,7 @@ 4001050 0 - 43100760 + 43100242 v4.1.0-1138-geb13d1cf4a x86_64 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; }; @@ -78,11 +79,12 @@ testQemuCaps(const void *opaque) unsigned int fakeMicrocodeVersion = 0; const char *p; - 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; if (!(mon = qemuMonitorTestNewFromFileFull(repliesFile, &data->driver, NULL, @@ -114,7 +116,7 @@ testQemuCaps(const void *opaque) fakeMicrocodeVersion *= 100000; - for (p = data->base; *p; p++) + for (p = data->version; *p; p++) fakeMicrocodeVersion += *p; virQEMUCapsSetMicrocodeVersion(capsActual, fakeMicrocodeVersion); @@ -148,8 +150,9 @@ testQemuCapsCopy(const void *opaque) virQEMUCapsPtr copy = NULL; char *actual = NULL; - 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; if (!(caps = virCapabilitiesNew(virArchFromString(data->archName), @@ -182,7 +185,8 @@ testQemuCapsCopy(const void *opaque) 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 = NULL; g_autofree char *copyTitle = NULL; - 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; } data->inputDir = inputDir; - data->base = base; + data->prefix = prefix; + data->version = version; data->archName = archName; data->suffix = suffix; 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; - 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; @@ -176,7 +177,8 @@ testQemuCapsXML(const void *opaque) 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 = (testQemuDataPtr) opaque; g_autofree char *title = NULL; - if (virAsprintf(&title, "%s (%s)", base, archName) < 0) + if (virAsprintf(&title, "%s (%s)", version, archName) < 0) return -1; data->inputDir = inputDir; - data->base = base; + data->prefix = prefix; + data->version = version; data->archName = archName; data->suffix = suffix; 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, while ((rc = virDirRead(dir, &ent, TEST_QEMU_CAPS_PATH)) > 0) { g_autofree char *tmp = g_strdup(ent->d_name); - char *base = NULL; + char *version = NULL; char *archName = NULL; /* Strip the trailing suffix, moving on if it's not present */ if (!virStringStripSuffix(tmp, suffix)) continue; + /* Strip the leading prefix */ + if (!(version = STRSKIP(tmp, "caps_"))) { + VIR_TEST_VERBOSE("malformed file name '%s'", ent->d_name); + goto cleanup; + } + /* Find the last dot */ if (!(archName = strrchr(tmp, '.'))) { VIR_TEST_VERBOSE("malformed file name '%s'", ent->d_name); goto cleanup; } - /* The base name is everything before the last dot, and - * the architecture name everything after it */ - base = 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] = '\0'; archName++; @@ -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); typedef int (*testQemuCapsIterateCallback)(const char *inputDir, - const char *base, + const char *prefix, + const char *version, const char *archName, const char *suffix, void *opaque);