On 05/15/2018 01:43 PM, Daniel P. Berrangé wrote: > A typical XML representation of the virNWFilterBindingDefPtr struct > looks like this: > > <filterbinding> > <owner> > <name>f25arm7</name> > <uuid>12ac8b8c-4f23-4248-ae42-fdcd50c400fd</uuid> > </owner> > <portdev name='vnet1'/> > <mac address='52:54:00:9d:81:b1'/> > <filterref filter='clean-traffic'> > <parameter name='MAC' value='52:54:00:9d:81:b1'/> > </filterref> > </filterbinding> > > Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> > --- > src/conf/virnwfilterbindingdef.c | 196 ++++++++++++++++++ > src/conf/virnwfilterbindingdef.h | 18 ++ > src/libvirt_private.syms | 5 + > tests/Makefile.am | 7 + > .../filter-vars.xml | 11 + > .../virnwfilterbindingxml2xmldata/simple.xml | 9 + > tests/virnwfilterbindingxml2xmltest.c | 113 ++++++++++ > 7 files changed, 359 insertions(+) > create mode 100644 tests/virnwfilterbindingxml2xmldata/filter-vars.xml > create mode 100644 tests/virnwfilterbindingxml2xmldata/simple.xml > create mode 100644 tests/virnwfilterbindingxml2xmltest.c > whoops - forgot the syntax-check things: [...] > diff --git a/tests/virnwfilterbindingxml2xmltest.c b/tests/virnwfilterbindingxml2xmltest.c > new file mode 100644 > index 0000000000..96edbdcf59 > --- /dev/null > +++ b/tests/virnwfilterbindingxml2xmltest.c > @@ -0,0 +1,113 @@ > +/* > + * virnwfilterbindingxml2xmltest.h: network filter binding XML testing virnwfilterbindingxml2xmltest.c > + * > + * Copyright (C) 2018 Red Hat, Inc. > + * > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library. If not, see > + * <http://www.gnu.org/licenses/>. > + * > + */ > + > +#include <config.h> > + > +#include <stdio.h> > +#include <stdlib.h> > +#include <unistd.h> > +#include <string.h> > + > +#include <sys/types.h> > +#include <fcntl.h> > + > +#include "internal.h" > +#include "testutils.h" > +#include "virxml.h" > +#include "virnwfilterbindingdef.h" > +#include "testutilsqemu.h" > +#include "virstring.h" > + > +#define VIR_FROM_THIS VIR_FROM_NONE > + > +static int > +testCompareXMLToXMLFiles(const char *xml) > +{ > + char *actual = NULL; > + int ret = -1; > + virNWFilterBindingDefPtr dev = NULL; > + > + virResetLastError(); > + > + if (!(dev = virNWFilterBindingDefParseFile(xml))) { > + goto fail; > + } brackets unnecessary > + > + if (!(actual = virNWFilterBindingDefFormat(dev))) > + goto fail; > + > + if (virTestCompareToFile(actual, xml) < 0) > + goto fail; > + > + ret = 0; > + > + fail: > + VIR_FREE(actual); > + virNWFilterBindingDefFree(dev); > + return ret; > +} > + [...] R-by applies... John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list