~ubuntu-branches/ubuntu/oneiric/libvirt/oneiric-updates

« back to all changes in this revision

Viewing changes to tests/nwfilterxml2xmltest.c

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2011-05-11 12:29:51 UTC
  • mfrom: (1.2.10) (3.4.30 sid)
  • Revision ID: package-import@ubuntu.com-20110511122951-ku5fk1tv37o5aymm
Tags: 0.9.1-1ubuntu1
* Resynchronize and merge from Debian unstable (LP: #794378). Remaining
  changes:
  - debian/control:
    * set X-Python-Version to 2.7, as 2.6 is not in oneiric.
    * set ubuntu maintainer
    * Build-Depends:
      - remove [linux-any] from all dependencies
      - remove [!linux-any] deps
      - swap libxen to libxen3, qemu to qemu-kvm, and open-iscsi to
        open-iscsi-utils in Build-Depends
      - remove virtualbox-ose Build-Depends
      - add parted and libapparmor-dev Build-Depends
    * convert Vcs-Git to Xs-Debian-Vcs-Git
    * libvirt-bin Depends: move netcat-openbsd, bridge-utils, dnsmasq-base
      (>= 2.46-1), and iptables from Recommends to Depends
    * libvirt-bin Recommends: move qemu to Suggests
    * libvirt-bin Suggests: add apparmor
    * libvirt0 Recommands: move lvm2 to Suggests
  - keep debian/libvirt-bin.apport
  - keep debian/libvirt-bin.cron.daily
  - debian/libvirt-bin.dirs:
    * add apparmor, cron.daily, and apport dirs
  - debian/libvirt-bin.examples:
    * add debian/libvirt-suspendonreboot
  - debian/libvirt-bin.install:
    * add /etc/apparmor.d files
    * add apport hook
  - debian/libvirt-bin.manpages:
    * add debian/libvirt-migrate-qemu-disks.1
  - debian/libvirt-bin.postinst:
    * replace libvirt groupname with libvirtd
    * add each admin user to libvirtd group
    * call apparmor_parser on usr.sbin.libvirtd and
      usr.lib.libvirt.virt-aa-helper
    * call 'libvirt-migrate-qemu-disks -a' after
      libvirt-bin has started if migrating from
      older than 0.8.3-1ubuntu1
  - debian/libvirt-bin.postrm:
    * replace libvirt groupname with libvirtd
    * remove usr.sbin.libvirtd and
      usr.lib.libvirt.virt-aa-helper
  - keep added files under debian/:
    * libvirt-bin.upstart
    * libvirt-migrate-qemu-disks
    * libvirt-migrate-qemu-disks.1
    * libvirt-suspendonreboot
    * apparmor profiles
  - debian/README.Debian:
    * add 'Apparmor Profile' section
    * add 'Disk migration' section
  - debian/rules:
    * move include of debhelper.mk to top of file so DEB_HOST_ARCH_OS
      is defined.
    * don't build with vbox since virtualbox-ose is in universe
      - remove WITH_VBOX, add explicit --without-vbox
    * add --with-apparmor to DEB_CONFIGURE_EXTRA_FLAGS
    * set DEB_DH_INSTALLINIT_ARGS to '--upstart-only'
    * remove unneeded binary-install/libvirt-bin:: and clean::
      sections (they only deal with sysvinit stuff)
    * add build/libvirt-bin:: section to install
      - apparmor files
      - apport hooks
      - libvirt-migrate-qemu-disks
* debian/patches/series:
  - don't apply Disable-CHECKSUM-rule.patch: our iptables can do this
  - don't apply Debian-specific Debianize-libvirt-guests.patch (sysvinit only)
  - don't apply Disable qemu-disable-network.diff.patch
* debian/patches:
  - drop 9007-fix-daemon-conf-ftbfs.patch (looks like it may be fixed)
  - drop patches applied upstream:
    * 9022-drop-booton-when-kernel-specified.patch
    * 9023-fix-lxc-console-hangup.patch
    * 9024-fix-broken-commandtest.patch
    * 9025-Pass-virSecurityManagerPtr-to-virSecurityDAC-Set-Res.patch
    * 9026-security-avoid-memory-leak.patch
    * 9027-CVE-2011-1146.patch
  - keep patches:
    * 9000-delayed_iff_up_bridge.patch
    * 9001-dont_clobber_existing_bridges.patch
    * 9002-better_default_uri_virsh.patch
    * 9003-better-default-arch.patch
    * 9004-libvirtd-group-name.patch
    * 9005-increase-unix-socket-timeout.patch
    * 9006-default-config-test-case.patch
    * 9011-move-ebtables-script.patch (refreshed)
    * 9014-skip-nodeinfotest.patch (modified to make it apply)
    * 9020-lp545795.patch (modified to make it still apply)
    * 9021-fix-uint64_t.patch
    * 9022-allows-lxc-containers-with-lxcguest.patch (renamed, modified
      to make it still apply, and added DEP-3 tags).
  - new patches:
    * 9023-disable-test-poll.patch - don't run broken test-poll

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
#include <stdlib.h>
5
5
#include <unistd.h>
6
6
#include <string.h>
7
 
#include <stdbool.h>
8
7
 
9
8
#include <sys/types.h>
10
9
#include <fcntl.h>
17
16
#include "nwfilter_conf.h"
18
17
#include "testutilsqemu.h"
19
18
 
20
 
static char *progname;
21
 
static char *abs_srcdir;
22
 
 
23
 
#define MAX_FILE 4096
24
 
 
25
 
 
26
 
static int testCompareXMLToXMLFiles(const char *inxml,
27
 
                                    const char *outxml,
28
 
                                    bool expect_error) {
29
 
    char inXmlData[MAX_FILE];
30
 
    char *inXmlPtr = &(inXmlData[0]);
31
 
    char outXmlData[MAX_FILE];
32
 
    char *outXmlPtr = &(outXmlData[0]);
 
19
static int
 
20
testCompareXMLToXMLFiles(const char *inxml, const char *outxml,
 
21
                         bool expect_error)
 
22
{
 
23
    char *inXmlData = NULL;
 
24
    char *outXmlData = NULL;
33
25
    char *actual = NULL;
34
26
    int ret = -1;
35
27
    virNWFilterDefPtr dev = NULL;
36
28
 
37
 
    if (virtTestLoadFile(inxml, &inXmlPtr, MAX_FILE) < 0)
 
29
    if (virtTestLoadFile(inxml, &inXmlData) < 0)
38
30
        goto fail;
39
 
    if (virtTestLoadFile(outxml, &outXmlPtr, MAX_FILE) < 0)
 
31
    if (virtTestLoadFile(outxml, &outXmlData) < 0)
40
32
        goto fail;
41
33
 
42
34
    virResetLastError();
63
55
    ret = 0;
64
56
 
65
57
 fail:
 
58
    free(inXmlData);
 
59
    free(outXmlData);
66
60
    free(actual);
67
61
    virNWFilterDefFree(dev);
68
62
    return ret;
73
67
    bool expect_warning;
74
68
} test_parms;
75
69
 
76
 
static int testCompareXMLToXMLHelper(const void *data) {
 
70
static int
 
71
testCompareXMLToXMLHelper(const void *data)
 
72
{
 
73
    int result = -1;
77
74
    const test_parms *tp = data;
78
 
    char inxml[PATH_MAX];
79
 
    char outxml[PATH_MAX];
80
 
    snprintf(inxml, PATH_MAX, "%s/nwfilterxml2xmlin/%s.xml",
81
 
             abs_srcdir, tp->name);
82
 
    snprintf(outxml, PATH_MAX, "%s/nwfilterxml2xmlout/%s.xml",
83
 
             abs_srcdir, tp->name);
84
 
    return testCompareXMLToXMLFiles(inxml, outxml, tp->expect_warning);
 
75
    char *inxml = NULL;
 
76
    char *outxml = NULL;
 
77
 
 
78
    if (virAsprintf(&inxml, "%s/nwfilterxml2xmlin/%s.xml",
 
79
                    abs_srcdir, tp->name) < 0 ||
 
80
        virAsprintf(&outxml, "%s/nwfilterxml2xmlout/%s.xml",
 
81
                    abs_srcdir, tp->name) < 0) {
 
82
        goto cleanup;
 
83
    }
 
84
 
 
85
    result = testCompareXMLToXMLFiles(inxml, outxml, tp->expect_warning);
 
86
 
 
87
cleanup:
 
88
    free(inxml);
 
89
    free(outxml);
 
90
 
 
91
    return result;
85
92
}
86
93
 
87
 
 
88
94
static int
89
 
mymain(int argc, char **argv)
 
95
mymain(void)
90
96
{
91
97
    int ret = 0;
92
 
    char cwd[PATH_MAX];
93
 
 
94
 
    progname = argv[0];
95
 
 
96
 
    if (argc > 1) {
97
 
        fprintf(stderr, "Usage: %s\n", progname);
98
 
        return (EXIT_FAILURE);
99
 
    }
100
 
 
101
 
    abs_srcdir = getenv("abs_srcdir");
102
 
    if (!abs_srcdir)
103
 
        abs_srcdir = getcwd(cwd, sizeof(cwd));
104
98
 
105
99
#define DO_TEST(NAME, EXPECT_WARN)                                \
106
100
    do {                                                          \