[libvirt] [v3 12/14] Add a usb1 & usb2 qemuxml2argv test

Daniel Veillard veillard at redhat.com
Sat Sep 3 00:34:15 UTC 2011


On Fri, Sep 02, 2011 at 04:09:35PM +0100, Daniel P. Berrange wrote:
> On Fri, Sep 02, 2011 at 11:02:07PM +0800, Daniel Veillard wrote:
> > On Fri, Sep 02, 2011 at 03:18:22AM +0200, Marc-André Lureau wrote:
> > > ---
> > >  tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.args |   15 ++++
> > >  tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.xml  |   74 ++++++++++++++++++++
> > >  tests/qemuxml2argvtest.c                           |    4 +
> > >  3 files changed, 93 insertions(+), 0 deletions(-)
> > >  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.args
> > >  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.xml
> > > 
> > > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.args b/tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.args
> > > new file mode 100644
> > > index 0000000..be4a78e
> > > --- /dev/null
> > > +++ b/tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.args
> > > @@ -0,0 +1,15 @@
> > > +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c \
> > > +-device piix3-usb-uhci,id=usb,bus=pci.0,multifunction=on,addr=0x1.0x2 \
> > > +-device ich9-usb-ehci1,id=usb1,bus=pci.0,multifunction=on,addr=0x4.0x7 \
> > > +-device ich9-usb-uhci1,masterbus=usb1.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4.0x0 \
> > > +-device ich9-usb-uhci2,masterbus=usb1.0,firstport=2,bus=pci.0,multifunction=on,addr=0x4.0x1 \
> > > +-device ich9-usb-uhci3,masterbus=usb1.0,firstport=4,bus=pci.0,multifunction=on,addr=0x4.0x2 \
> > > +-device ich9-usb-ehci1,id=usb2,bus=pci.0,multifunction=on,addr=0x5.0x7 \
> > > +-device ich9-usb-uhci1,masterbus=usb2.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5.0x0 \
> > > +-device ich9-usb-uhci2,masterbus=usb2.0,firstport=2,bus=pci.0,multifunction=on,addr=0x5.0x1 \
> > > +-device ich9-usb-uhci3,masterbus=usb2.0,firstport=4,bus=pci.0,multifunction=on,addr=0x5.0x2 \
> > > +-device usb-hub,id=hub0,bus=usb1.0,port=1 \
> > > +-device usb-tablet,id=input0,bus=usb.0,port=2 \
> > > +-device usb-host,hostbus=14,hostaddr=6,id=hostdev0,bus=usb2.0,port=1 \
> > > +-device usb-host,hostbus=14,hostaddr=7,id=hostdev1,bus=usb2.0,port=2 \
> > > +-device virtio-balloon-pci,id=balloon0,bus=pci.0,multifunction=on,addr=0x3.0x0
> > > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.xml b/tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.xml
> > > new file mode 100644
> > > index 0000000..e8ada4d
> > > --- /dev/null
> > > +++ b/tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.xml
> > > @@ -0,0 +1,74 @@
> > > +<domain type='qemu'>
> > > +  <name>QEMUGuest1</name>
> > > +  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
> > > +  <memory>219136</memory>
> > > +  <currentMemory>219200</currentMemory>
> > > +  <vcpu>1</vcpu>
> > > +  <os>
> > > +    <type arch='i686' machine='pc'>hvm</type>
> > > +    <boot dev='hd'/>
> > > +  </os>
> > > +  <devices>
> > > +    <emulator>/usr/bin/qemu</emulator>
> > > +    <memballoon model='virtio'/>
> > > +
> > > +    <controller type='usb' index='0' model='piix3-uhci'>
> > > +      <address type='pci' domain='0' bus='0' slot='1' function='2'/>
> > > +    </controller>
> > > +
> > > +    <controller type='usb' index='1' model='ich9-ehci1'>
> > > +      <address type='pci' domain='0' bus='0' slot='4' function='7'/>
> > > +    </controller>
> > > +    <controller type='usb' index='1' model='ich9-uhci1'>
> > > +      <master startport='0'/>
> > > +      <address type='pci' domain='0' bus='0' slot='4' function='0'/>
> > > +    </controller>
> > > +    <controller type='usb' index='1' model='ich9-uhci2'>
> > > +      <master startport='2'/>
> > > +      <address type='pci' domain='0' bus='0' slot='4' function='1'/>
> > > +    </controller>
> > > +    <controller type='usb' index='1' model='ich9-uhci3'>
> > > +      <master startport='4'/>
> > > +      <address type='pci' domain='0' bus='0' slot='4' function='2'/>
> > > +    </controller>
> > > +
> > > +    <controller type='usb' index='2' model='ich9-ehci1'>
> > > +      <address type='pci' domain='0' bus='0' slot='5' function='7'/>
> > > +    </controller>
> > > +    <controller type='usb' index='2' model='ich9-uhci1'>
> > > +      <master startport='0'/>
> > > +      <address type='pci' domain='0' bus='0' slot='5' function='0'/>
> > > +    </controller>
> > > +    <controller type='usb' index='2' model='ich9-uhci2'>
> > > +      <master startport='2'/>
> > > +      <address type='pci' domain='0' bus='0' slot='5' function='1'/>
> > > +    </controller>
> > > +    <controller type='usb' index='2' model='ich9-uhci3'>
> > > +      <master startport='4'/>
> > > +      <address type='pci' domain='0' bus='0' slot='5' function='2'/>
> > > +    </controller>
> > > +
> > > +    <input type='tablet' bus='usb'>
> > > +      <address type='usb' bus='0' port='2'/>
> > > +    </input>
> > > +
> > > +    <hub type='usb'>
> > > +      <address type='usb' bus='1' port='1'/>
> > > +    </hub>
> > > +
> > > +    <hostdev mode='subsystem' type='usb'>
> > > +      <source>
> > > +        <address bus='14' device='6'/>
> > > +      </source>
> > > +      <address type='usb' bus='2' port='1'/>
> > > +    </hostdev>
> > > +
> > > +    <hostdev mode='subsystem' type='usb'>
> > > +      <source>
> > > +        <address bus='14' device='7'/>
> > > +      </source>
> > > +      <address type='usb' bus='2' port='2'/>
> > > +    </hostdev>
> > > +
> > > +  </devices>
> > > +</domain>
> > > diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> > > index a8e7259..9a8ecca 100644
> > > --- a/tests/qemuxml2argvtest.c
> > > +++ b/tests/qemuxml2argvtest.c
> > > @@ -504,6 +504,10 @@ mymain(void)
> > >      DO_TEST("usb-ports", false,
> > >              QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_USB_HUB,
> > >              QEMU_CAPS_NODEFCONFIG);
> > > +    DO_TEST("usb1-usb2", false,
> > > +            QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
> > > +            QEMU_CAPS_PCI_MULTIFUNCTION, QEMU_CAPS_PIIX3_USB_UHCI,
> > > +            QEMU_CAPS_USB_HUB, QEMU_CAPS_ICH9_USB_EHCI1);
> > >  
> > >      DO_TEST("smbios", false, QEMU_CAPS_SMBIOS_TYPE);
> > 
> >   I am skipping that patch, I get a make check error:
> > 
> > 121) QEMU XML-2-ARGV usb1-usb2
> > ... libvir: QEMU error : internal error unable to reserve PCI address
> > 0:0:1.2
> > FAILED
> > 
> >   since it's test only we can solve this later,
> 
> Be very wary of postponing this. Historically this kind of failure is a
> indication that the QEMU driver will also likely break when attempting
> to start guests, or restore guests from save image. This should be
> investigated & checked before release

  Well there was an earlier conflict during a rebase just in that area
and I think Wen was looking at this too. Anyway we have updated patches
now that I will review and push probably over the w.e.

 thanks,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list