[libvirt] [PATCH 3/4] tests: xml2xml: Refactor the qemu xml 2 xml test

Martin Kletzander mkletzan at redhat.com
Wed Mar 25 09:13:44 UTC 2015


On Tue, Mar 24, 2015 at 03:03:22PM +0100, Peter Krempa wrote:
>To allow adding more tests, refactor the XML-2-XML test so that the
>files are not reloaded always and clarify the control flow.
>
>Result of this changes is that the active and inactive portions of the
>XML are tested in separate steps rather than one test step.
>---
> tests/qemuxml2xmltest.c | 214 +++++++++++++++++++++++++++++++-----------------
> 1 file changed, 140 insertions(+), 74 deletions(-)
>
>diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
>index 0f16d5e..627edca 100644
>--- a/tests/qemuxml2xmltest.c
>+++ b/tests/qemuxml2xmltest.c
>@@ -22,11 +22,30 @@
>
> static virQEMUDriver driver;
>
>+enum {
>+    WHEN_INACTIVE = 1,
>+    WHEN_ACTIVE = 2,
>+    WHEN_EITHER = 3,

Pre-existing, but reading the code, I guess this "either" means
"both", doesn't it?

>@@ -148,12 +201,25 @@ mymain(void)
>     if (!(driver.xmlopt = virQEMUDriverCreateXMLConf(&driver)))
>         return EXIT_FAILURE;
>
>-# define DO_TEST_FULL(name, is_different, when)                         \
>-    do {                                                                \
>-        const struct testInfo info = {name, is_different, when};        \
>-        if (virtTestRun("QEMU XML-2-XML " name,                         \
>-                        testCompareXMLToXMLHelper, &info) < 0)          \
>-            ret = -1;                                                   \
>+# define DO_TEST_FULL(name, is_different, when)                                \
>+    do {                                                                       \
>+        if (testInfoSet(&info, name, is_different, when) < 0) {                \
>+            fprintf(stderr, "Failed to generate test data for '%s'", name);    \
>+            return -1;                                                         \
>+        }                                                                      \
>+                                                                               \
>+        if (info.outInactiveName) {                                            \
>+            if (virtTestRun("QEMU XML-2-XML-inactive " name,                   \
>+                            testXML2XMLInactive, &info) < 0)                   \
>+                ret = -1;                                                      \
>+        }                                                                      \
>+                                                                               \
>+        if (info.outActiveName) {                                              \
>+            if (virtTestRun("QEMU XML-2-XML-active " name,                     \
>+                            testXML2XMLActive, &info) < 0)                     \
>+                ret = -1;                                                      \
>+        }                                                                      \
>+         testInfoFree(&info);                                                  \

s/ // (indentation's off)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150325/29892c78/attachment-0001.sig>


More information about the libvir-list mailing list