[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Add virtio-blk-drive-serial test
From: |
Zhi Yong Wu |
Subject: |
Re: [Qemu-devel] [PATCH] Add virtio-blk-drive-serial test |
Date: |
Mon, 16 Jan 2012 09:57:27 +0800 |
On Sun, Jan 15, 2012 at 10:39 PM, Anthony Liguori <address@hidden> wrote:
> On 01/13/2012 07:25 PM, Zhi Yong Wu wrote:
>>
>> On Sat, Jan 14, 2012 at 9:03 AM, Zhi Yong Wu<address@hidden> wrote:
>>>
>>> On Sat, Jan 14, 2012 at 5:49 AM, Ryan Harper<address@hidden> wrote:
>>>>
>>>> We can test out the virtio-blk drive serial number by generating and
>>>> then
>>>> reading it back via the file in sysfs.
>>>>
>>>> Signed-off-by: Ryan Harper<address@hidden>
>>>> ---
>>>> tests/virtio-blk-drive-serial.sh | 40
>>>> ++++++++++++++++++++++++++++++++++++++
>>>> 1 files changed, 40 insertions(+), 0 deletions(-)
>>>> create mode 100755 tests/virtio-blk-drive-serial.sh
>>>>
>>>> diff --git a/tests/virtio-blk-drive-serial.sh
>>>> b/tests/virtio-blk-drive-serial.sh
>>>> new file mode 100755
>>>> index 0000000..0586f97
>>>> --- /dev/null
>>>> +++ b/tests/virtio-blk-drive-serial.sh
>>>> @@ -0,0 +1,40 @@
>>>> +#!/bin/sh
>>>> +
>>>> +serial="0123456789abcdefghi"
>>>> +
>>>> +in_host() {
>>>> + tmpdisk=$tmpdir/disk.img
>>>> + qemu-img create -f qcow2 $tmpdisk 10G
>>>> +
>>>> + qemu -nographic -enable-kvm \
>>>> + -drive
>>>> file=$tmpdisk,if=none,id=drive-virtio-disk0,format=raw,cache=none,serial=$serial
>>>> \
>>>> + -device
>>>> virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0
>>>> + rc=$?
>>>> +
>>>> + rm $tmpdisk
>>>> + return $rc
>>>> +}
>>>> +
>>>> +in_guest() {
>>>> + sysfspath=/sys/block/vda
>>>> + if ! test -e $sysfspath; then
>>>> + echo "Device not visible!"
>>>> + return 1
>>>> + fi
>>>> +
>>>> + guest_serial=`cat $sysfspath/serial`
>>>> +
>>>> + if test "$guest_serial" != "$serial"; then
>>>> + echo "drive has wrong serial!"
>>>> + echo "Expected '$serial', got '$guest_serial'"
>>>> + return 2
>>>> + fi
>>>> +
>>>> + return 0
>>>> +}
>>>
>>> How will you make in_guest() run in that guest system?
>>> From the code below, i guess that qtest framework make sure it.
>
>
> qemu-test. qtest is something different.
>
> The script is copied into the initramfs used to run the guest. QEMU_TEST=1
> only in the host so the code below invokes in_guest only in the guest.
thanks.
>
> Regards,
>
> Anthony Liguori
>
>
>>>> +
>>>> +if test $QEMU_TEST; then
>>>> + in_host
>>>> +else
>>>> + in_guest
>>>> +fi
>>>> --
>>>> 1.7.6
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Regards,
>>>
>>> Zhi Yong Wu
>>
>>
>>
>>
>
--
Regards,
Zhi Yong Wu