[libvirt] [PATCH v2 05/21] conf: add support for parsing/formatting virNWFilterBindingDefPtr
John Ferlan
jferlan at redhat.com
Thu May 17 14:56:10 UTC 2018
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 at redhat.com>
> ---
> 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
More information about the libvir-list
mailing list