[libvirt] [PATCH 3/4] tests: xml2xml: Refactor the qemu xml 2 xml test
Peter Krempa
pkrempa at redhat.com
Wed Mar 25 12:37:02 UTC 2015
On Wed, Mar 25, 2015 at 10:13:44 +0100, Martin Kletzander wrote:
> 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?
I changed this to _BOTH
>
> >@@ -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)
And fixed this problem.
And pushed this patch and 1/4. I'll repost the rest as I've done pretty
serious changes to 2/4.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150325/3602aec8/attachment-0001.sig>
More information about the libvir-list
mailing list