[libvirt] [PATCH 2/2] Add tests to xmconfigtest

Jim Fehlig jfehlig at suse.com
Tue Dec 23 01:42:32 UTC 2014


Chunyan Liu wrote:

Hi Chunyan,

Thanks for the fix, and the test!  But I have a few questions regarding
the latter...

> Add tests to testing HVM default features (pae, acpi, apic)
> conversion from xm config to libvirt xml and from libvirt
> xml to xm config.
>
> Signed-off-by: Chunyan Liu <cyliu at suse.com>
> ---
>  .../xmconfigdata/test-fullvirt-default-feature.cfg | 23 +++++++++++
>  .../test-fullvirt-default-feature.cfg.out          | 26 ++++++++++++
>  .../xmconfigdata/test-fullvirt-default-feature.xml | 48 ++++++++++++++++++++++
>  tests/xmconfigtest.c                               |  9 +++-
>  4 files changed, 105 insertions(+), 1 deletion(-)
>  create mode 100644 tests/xmconfigdata/test-fullvirt-default-feature.cfg
>  create mode 100644 tests/xmconfigdata/test-fullvirt-default-feature.cfg.out
>  create mode 100644 tests/xmconfigdata/test-fullvirt-default-feature.xml
>
> diff --git a/tests/xmconfigdata/test-fullvirt-default-feature.cfg b/tests/xmconfigdata/test-fullvirt-default-feature.cfg
> new file mode 100644
> index 0000000..5ce234f
> --- /dev/null
> +++ b/tests/xmconfigdata/test-fullvirt-default-feature.cfg
>   

Why is this file needed?

> @@ -0,0 +1,23 @@
> +name = "XenGuest2"
> +uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
> +maxmem = 579
> +memory = 394
> +vcpus = 1
> +builder = "hvm"
> +kernel = "/usr/lib/xen/boot/hvmloader"
> +boot = "d"
> +hpet = 1
> +localtime = 0
> +on_poweroff = "destroy"
> +on_reboot = "restart"
> +on_crash = "restart"
> +device_model = "/usr/lib/xen/bin/qemu-dm"
> +sdl = 0
> +vnc = 1
> +vncunused = 1
> +vnclisten = "127.0.0.1"
> +vncpasswd = "123poi"
> +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
> +parallel = "none"
> +serial = "none"
> +disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso,hdc:cdrom,r" ]
> diff --git a/tests/xmconfigdata/test-fullvirt-default-feature.cfg.out b/tests/xmconfigdata/test-fullvirt-default-feature.cfg.out
> new file mode 100644
> index 0000000..97a9827
> --- /dev/null
> +++ b/tests/xmconfigdata/test-fullvirt-default-feature.cfg.out
>   

IMO, this file should be renamed to 'test-fullvirt-default-feature.cfg'.

> @@ -0,0 +1,26 @@
> +name = "XenGuest2"
> +uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
> +maxmem = 579
> +memory = 394
> +vcpus = 1
> +builder = "hvm"
> +kernel = "/usr/lib/xen/boot/hvmloader"
> +boot = "d"
> +pae = 1
> +acpi = 1
> +apic = 1
> +hpet = 1
> +localtime = 0
> +on_poweroff = "destroy"
> +on_reboot = "restart"
> +on_crash = "restart"
> +device_model = "/usr/lib/xen/bin/qemu-dm"
> +sdl = 0
> +vnc = 1
> +vncunused = 1
> +vnclisten = "127.0.0.1"
> +vncpasswd = "123poi"
> +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
> +parallel = "none"
> +serial = "none"
> +disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso,hdc:cdrom,r" ]
> diff --git a/tests/xmconfigdata/test-fullvirt-default-feature.xml b/tests/xmconfigdata/test-fullvirt-default-feature.xml
> new file mode 100644
> index 0000000..57a6531
> --- /dev/null
> +++ b/tests/xmconfigdata/test-fullvirt-default-feature.xml
> @@ -0,0 +1,48 @@
> +<domain type='xen'>
> +  <name>XenGuest2</name>
> +  <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
> +  <memory unit='KiB'>592896</memory>
> +  <currentMemory unit='KiB'>403456</currentMemory>
> +  <vcpu placement='static'>1</vcpu>
> +  <os>
> +    <type arch='i686' machine='xenfv'>hvm</type>
> +    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
> +    <boot dev='cdrom'/>
> +  </os>
> +  <features>
> +    <acpi/>
> +    <apic/>
> +    <pae/>
> +  </features>
> +  <clock offset='utc' adjustment='reset'>
> +    <timer name='hpet' present='yes'/>
> +  </clock>
> +  <on_poweroff>destroy</on_poweroff>
> +  <on_reboot>restart</on_reboot>
> +  <on_crash>restart</on_crash>
> +  <devices>
> +    <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
> +    <disk type='block' device='disk'>
> +      <driver name='phy'/>
> +      <source dev='/dev/HostVG/XenGuest2'/>
> +      <target dev='hda' bus='ide'/>
> +    </disk>
> +    <disk type='file' device='cdrom'>
> +      <driver name='file'/>
> +      <source file='/root/boot.iso'/>
> +      <target dev='hdc' bus='ide'/>
> +      <readonly/>
> +    </disk>
> +    <interface type='bridge'>
> +      <mac address='00:16:3e:66:92:9c'/>
> +      <source bridge='xenbr1'/>
> +      <script path='vif-bridge'/>
> +      <model type='e1000'/>
> +    </interface>
> +    <input type='mouse' bus='ps2'/>
> +    <input type='keyboard' bus='ps2'/>
> +    <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' passwd='123poi'>
> +      <listen type='address' address='127.0.0.1'/>
> +    </graphics>
> +  </devices>
> +</domain>
> diff --git a/tests/xmconfigtest.c b/tests/xmconfigtest.c
> index 0c6f803..b0b7b30 100644
> --- a/tests/xmconfigtest.c
> +++ b/tests/xmconfigtest.c
> @@ -176,21 +176,26 @@ testCompareHelper(const void *data)
>      const struct testInfo *info = data;
>      char *xml = NULL;
>      char *cfg = NULL;
> +    char *cfgout = NULL;
>  
>      if (virAsprintf(&xml, "%s/xmconfigdata/test-%s.xml",
>                      abs_srcdir, info->name) < 0 ||
>          virAsprintf(&cfg, "%s/xmconfigdata/test-%s.cfg",
> +                    abs_srcdir, info->name) < 0 ||
> +        virAsprintf(&cfgout, "%s/xmconfigdata/test-%s.cfg.out",
>                      abs_srcdir, info->name) < 0)
>          goto cleanup;
>  
>      if (info->mode == 0)
> -        result = testCompareParseXML(cfg, xml, info->version);
> +        result = testCompareParseXML(virFileExists(cfgout) ? cfgout : cfg,
> +                                     xml, info->version);
>      else
>          result = testCompareFormatXML(cfg, xml, info->version);
>  
>   cleanup:
>      VIR_FREE(xml);
>      VIR_FREE(cfg);
> +    VIR_FREE(cfgout);
>   

With the change suggested above, this hunk can be removed from
xmconfigtest.c.  'make check' passes for me with these changes.  Was
there any reason for test-fullvirt-default-feature.cfg vs
test-fullvirt-default-feature.cfg?

Regards,
Jim

>  
>      return result;
>  }
> @@ -254,6 +259,8 @@ mymain(void)
>      DO_TEST("fullvirt-net-ioemu", 2);
>      DO_TEST("fullvirt-net-netfront", 2);
>  
> +    DO_TEST("fullvirt-default-feature", 2);
> +
>      DO_TEST("escape-paths", 2);
>      DO_TEST("no-source-cdrom", 2);
>      DO_TEST("pci-devs", 2);
>   




More information about the libvir-list mailing list