Re: [libvirt] [PATCH 8/8] tests: Use testQemuCapsIterate()

2019-03-13 Thread Peter Krempa
On Thu, Mar 07, 2019 at 16:44:37 +0100, Andrea Bolognani wrote:
> With only a couple minor tweaks, we can make the existing
> doCapsTest() functions with testQemuCapsIterate() and finally
> remove the need to manually adjust the test programs every time
> a new input file is introduced; moreover, this means that the
> two lists can't possibly get out of sync anymore.
> 
> Signed-off-by: Andrea Bolognani 
> ---
>  tests/qemucapabilitiestest.c | 48 +++-
>  tests/qemucaps2xmltest.c | 48 +++-
>  2 files changed, 8 insertions(+), 88 deletions(-)

ACK


signature.asc
Description: PGP signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] [PATCH 8/8] tests: Use testQemuCapsIterate()

2019-03-07 Thread Andrea Bolognani
With only a couple minor tweaks, we can make the existing
doCapsTest() functions with testQemuCapsIterate() and finally
remove the need to manually adjust the test programs every time
a new input file is introduced; moreover, this means that the
two lists can't possibly get out of sync anymore.

Signed-off-by: Andrea Bolognani 
---
 tests/qemucapabilitiestest.c | 48 +++-
 tests/qemucaps2xmltest.c | 48 +++-
 2 files changed, 8 insertions(+), 88 deletions(-)

diff --git a/tests/qemucapabilitiestest.c b/tests/qemucapabilitiestest.c
index b4ed081d3e..16c2832ffb 100644
--- a/tests/qemucapabilitiestest.c
+++ b/tests/qemucapabilitiestest.c
@@ -179,8 +179,9 @@ testQemuCapsCopy(const void *opaque)
 static int
 doCapsTest(const char *base,
const char *archName,
-   testQemuDataPtr data)
+   void *opaque)
 {
+testQemuDataPtr data = (testQemuDataPtr) opaque;
 VIR_AUTOFREE(char *) title = NULL;
 VIR_AUTOFREE(char *) copyTitle = NULL;
 
@@ -220,49 +221,8 @@ mymain(void)
 if (testQemuDataInit() < 0)
 return EXIT_FAILURE;
 
-#define DO_TEST(arch, name) \
-do { \
-if (doCapsTest(name, arch, ) < 0) \
-return EXIT_FAILURE; \
-} while (0)
-
-/* Keep this in sync with qemucaps2xmltest */
-DO_TEST("x86_64", "caps_1.5.3");
-DO_TEST("x86_64", "caps_1.6.0");
-DO_TEST("x86_64", "caps_1.7.0");
-DO_TEST("x86_64", "caps_2.1.1");
-DO_TEST("x86_64", "caps_2.4.0");
-DO_TEST("x86_64", "caps_2.5.0");
-DO_TEST("x86_64", "caps_2.6.0");
-DO_TEST("x86_64", "caps_2.7.0");
-DO_TEST("x86_64", "caps_2.8.0");
-DO_TEST("x86_64", "caps_2.9.0");
-DO_TEST("x86_64", "caps_2.10.0");
-DO_TEST("x86_64", "caps_2.11.0");
-DO_TEST("x86_64", "caps_2.12.0");
-DO_TEST("x86_64", "caps_3.0.0");
-DO_TEST("x86_64", "caps_3.1.0");
-DO_TEST("x86_64", "caps_4.0.0");
-DO_TEST("aarch64", "caps_2.6.0");
-DO_TEST("aarch64", "caps_2.10.0");
-DO_TEST("aarch64", "caps_2.12.0");
-DO_TEST("ppc64", "caps_2.6.0");
-DO_TEST("ppc64", "caps_2.9.0");
-DO_TEST("ppc64", "caps_2.10.0");
-DO_TEST("ppc64", "caps_2.12.0");
-DO_TEST("ppc64", "caps_3.0.0");
-DO_TEST("ppc64", "caps_3.1.0");
-DO_TEST("s390x", "caps_2.7.0");
-DO_TEST("s390x", "caps_2.8.0");
-DO_TEST("s390x", "caps_2.9.0");
-DO_TEST("s390x", "caps_2.10.0");
-DO_TEST("s390x", "caps_2.11.0");
-DO_TEST("s390x", "caps_2.12.0");
-DO_TEST("s390x", "caps_3.0.0");
-DO_TEST("riscv32", "caps_3.0.0");
-DO_TEST("riscv32", "caps_4.0.0");
-DO_TEST("riscv64", "caps_3.0.0");
-DO_TEST("riscv64", "caps_4.0.0");
+if (testQemuCapsIterate(data.dataDir, ".replies", doCapsTest, ) < 0)
+return EXIT_FAILURE;
 
 /*
  * Run "tests/qemucapsprobe /path/to/qemu/binary >foo.replies"
diff --git a/tests/qemucaps2xmltest.c b/tests/qemucaps2xmltest.c
index dff4e2a884..e21fde7e0b 100644
--- a/tests/qemucaps2xmltest.c
+++ b/tests/qemucaps2xmltest.c
@@ -182,8 +182,9 @@ testQemuCapsXML(const void *opaque)
 static int
 doCapsTest(const char *base,
const char *archName,
-   testQemuDataPtr data)
+   void *opaque)
 {
+testQemuDataPtr data = (testQemuDataPtr) opaque;
 VIR_AUTOFREE(char *) title = NULL;
 
 if (virAsprintf(, "%s (%s)", base, archName) < 0)
@@ -216,49 +217,8 @@ mymain(void)
 if (testQemuDataInit() < 0)
 return EXIT_FAILURE;
 
-#define DO_TEST(arch, name) \
-do { \
-if (doCapsTest(name, arch, ) < 0) \
-return EXIT_FAILURE; \
-} while (0)
-
-/* Keep this in sync with qemucapabilitiestest */
-DO_TEST("x86_64", "caps_1.5.3");
-DO_TEST("x86_64", "caps_1.6.0");
-DO_TEST("x86_64", "caps_1.7.0");
-DO_TEST("x86_64", "caps_2.1.1");
-DO_TEST("x86_64", "caps_2.4.0");
-DO_TEST("x86_64", "caps_2.5.0");
-DO_TEST("x86_64", "caps_2.6.0");
-DO_TEST("x86_64", "caps_2.7.0");
-DO_TEST("x86_64", "caps_2.8.0");
-DO_TEST("x86_64", "caps_2.9.0");
-DO_TEST("x86_64", "caps_2.10.0");
-DO_TEST("x86_64", "caps_2.11.0");
-DO_TEST("x86_64", "caps_2.12.0");
-DO_TEST("x86_64", "caps_3.0.0");
-DO_TEST("x86_64", "caps_3.1.0");
-DO_TEST("x86_64", "caps_4.0.0");
-DO_TEST("aarch64", "caps_2.6.0");
-DO_TEST("aarch64", "caps_2.10.0");
-DO_TEST("aarch64", "caps_2.12.0");
-DO_TEST("ppc64", "caps_2.6.0");
-DO_TEST("ppc64", "caps_2.9.0");
-DO_TEST("ppc64", "caps_2.10.0");
-DO_TEST("ppc64", "caps_2.12.0");
-DO_TEST("ppc64", "caps_3.0.0");
-DO_TEST("ppc64", "caps_3.1.0");
-DO_TEST("s390x", "caps_2.7.0");
-DO_TEST("s390x", "caps_2.8.0");
-DO_TEST("s390x", "caps_2.9.0");
-DO_TEST("s390x", "caps_2.10.0");
-DO_TEST("s390x", "caps_2.11.0");
-DO_TEST("s390x", "caps_2.12.0");
-DO_TEST("s390x", "caps_3.0.0");
-DO_TEST("riscv32", "caps_3.0.0");
-DO_TEST("riscv32", "caps_4.0.0");
-