[libvirt] [PATCH V3 5/5] libxl: Add a test suite for libxl option generator

Jim Fehlig jfehlig at suse.com
Thu Sep 11 22:01:49 UTC 2014


Daniel P. Berrange wrote:
> On Wed, Sep 03, 2014 at 09:07:39PM -0600, Jim Fehlig wrote:
>   
>> From: "Daniel P. Berrange" <berrange at redhat.com>
>>
>> The libxl library allows a libxl_domain_config object to be
>> serialized to a JSON string. Use this to allow testing of
>> the XML -> libxl_domain_config conversion process
>>
>> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
>> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
>> ---
>>  configure.ac                           |   2 +
>>  tests/Makefile.am                      |  25 +++-
>>  tests/libxlxml2jsondata/basic-hvm.json | 217 ++++++++++++++++++++++++++++
>>  tests/libxlxml2jsondata/basic-hvm.xml  |  36 +++++
>>  tests/libxlxml2jsondata/basic-pv.json  | 163 +++++++++++++++++++++
>>  tests/libxlxml2jsondata/basic-pv.xml   |  28 ++++
>>  tests/libxlxml2jsontest.c              | 251 +++++++++++++++++++++++++++++++++
>>  tests/virmocklibxl.c                   |  87 ++++++++++++
>>  8 files changed, 808 insertions(+), 1 deletion(-)
>>     
>
>   
>> diff --git a/tests/libxlxml2jsontest.c b/tests/libxlxml2jsontest.c
>> new file mode 100644
>> index 0000000..6ae654a
>> --- /dev/null
>> +++ b/tests/libxlxml2jsontest.c
>>     
>
>
>   
>> +#if defined LIBXL_HAVE_BUILDINFO_HVM_VENDOR_DEVICE
>> +/*
>> +* Currently no paths ignored on Xen 4.4
>> +*/
>> +static const char **ignore_paths = NULL;
>> +#elif defined LIBXL_HAVE_DOMAIN_NODEAFFINITY
>> +/*
>> +* These paths must be ignored if running on Xen 4.3
>> +*/
>> +static const char *ignore_paths[] = {
>> +    "/c_info/pvh",
>> +    "/c_info/driver_domain",
>> +    "/b_info/device_model_version",
>> +    "/b_info/event_channels",
>> +    "/b_info/u/kernel",
>> +    "/b_info/u/cmdline",
>> +    "/b_info/u/ramdisk",
>> +    "/b_info/u/bios",
>> +    "/b_info/u/timer_mode",
>> +    "/b_info/u/vga/kind",
>> +    "/b_info/u/spice/vdagent",
>> +    "/b_info/u/spice/clipboard_sharing",
>> +    "/b_info/u/spice/usbredirection",
>> +    "/b_info/u/usbversion",
>> +    "/b_info/u/vendor_device",
>> +    "/on_watchdog",
>> +    NULL
>> +};
>> +#else
>> +/*
>> + * These paths must be ignored if running on Xen 4.2
>> + */
>> +static const char *ignore_paths[] = {
>> +    "/c_info/pvh",
>> +    "/c_info/driver_domain",
>> +    "/b_info/nodemap",
>> +    "/b_info/exec_ssidref",
>> +    "/b_info/iomem",
>> +    "/b_info/claim_mode",
>> +    "/b_info/device_model_version",
>> +    "/b_info/event_channels",
>> +    "/b_info/u/usbdevice_list",
>> +    "/b_info/u/kernel",
>> +    "/b_info/u/cmdline",
>> +    "/b_info/u/ramdisk",
>> +    "/b_info/u/bios",
>> +    "/b_info/u/timer_mode",
>> +    "/b_info/u/vga/kind",
>> +    "/b_info/u/spice/vdagent",
>> +    "/b_info/u/spice/clipboard_sharing",
>> +    "/b_info/u/spice/usbredirection",
>> +    "/b_info/u/usbversion",
>> +    "/b_info/u/vendor_device",
>> +    "/disks/backend_domname",
>> +    "/nics/backend_domname",
>> +    "/nics/gatewaydev",
>> +    "/vfbs/backend_domname",
>> +    "/vkbs/backend_domname",
>> +    "/vtpms",
>> +    "/on_watchdog",
>> +    NULL
>> +};
>> +#endif
>>     
>
> As more & more versions of Xen are released I think we might
> end up with quite alot of duplication between these lists.
> Could we structure it a little differently to avoid this
> perhaps in this way:
>   

Yes, your suggestion is much better.  I meant to make a similar change
before sending this patch...

Regards,
Jim

>
>    #if defined LIBXL_HAVE_BUILDINFO_HVM_VENDOR_DEVICE
>    # define LIBXL_VERSION 4004
>    #elif define LIBXL_HAVE_DOMAIN_NODEAFFINITY
>    # define LIBXL_VERSION 4003
>    #else
>    # define LIBXL_VERSION 4002
>    #endif
>
>    static const char *ignore_paths[] = {
>    #if LIBXL_VERSION < 4004
>        "/c_info/pvh",
>        "/c_info/driver_domain",
>        "/b_info/device_model_version",
>        "/b_info/event_channels",
>        "/b_info/u/kernel",
>        "/b_info/u/cmdline",
>        "/b_info/u/ramdisk",
>        "/b_info/u/bios",
>        "/b_info/u/timer_mode",
>        "/b_info/u/vga/kind",
>        "/b_info/u/spice/vdagent",
>        "/b_info/u/spice/clipboard_sharing",
>        "/b_info/u/spice/usbredirection",
>        "/b_info/u/usbversion",
>        "/b_info/u/vendor_device",
>        "/on_watchdog",
>    #endif
>    #if LIBXL_VERSION < 4003
>        "/b_info/nodemap",
>        "/b_info/exec_ssidref",
>        "/b_info/iomem",
>        "/b_info/claim_mode",
>        "/b_info/u/usbdevice_list",
>        "/disks/backend_domname",
>        "/nics/backend_domname",
>        "/nics/gatewaydev",
>        "/vfbs/backend_domname",
>        "/vkbs/backend_domname",
>        "/vtpms",
>    #endif
>        NULL
>    };
>
>
>
> Regards,
> Daniel
>   




More information about the libvir-list mailing list