From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:48464) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RmRFL-0007EH-I5 for qemu-devel@nongnu.org; Sun, 15 Jan 2012 09:39:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RmRFK-0006En-Cp for qemu-devel@nongnu.org; Sun, 15 Jan 2012 09:39:47 -0500 Received: from mail-yx0-f173.google.com ([209.85.213.173]:35061) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RmRFK-0006Ei-84 for qemu-devel@nongnu.org; Sun, 15 Jan 2012 09:39:46 -0500 Received: by yenl8 with SMTP id l8so1094252yen.4 for ; Sun, 15 Jan 2012 06:39:46 -0800 (PST) Message-ID: <4F12E52E.5050707@codemonkey.ws> Date: Sun, 15 Jan 2012 08:39:42 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1326491377-13054-1-git-send-email-ryanh@us.ibm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] Add virtio-blk-drive-serial test List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Zhi Yong Wu Cc: Ryan Harper , QEMU Developers On 01/13/2012 07:25 PM, Zhi Yong Wu wrote: > On Sat, Jan 14, 2012 at 9:03 AM, Zhi Yong Wu wrote: >> On Sat, Jan 14, 2012 at 5:49 AM, Ryan Harper 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 >>> --- >>> 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. Regards, Anthony Liguori >>> + >>> +if test $QEMU_TEST; then >>> + in_host >>> +else >>> + in_guest >>> +fi >>> -- >>> 1.7.6 >>> >>> >> >> >> >> -- >> Regards, >> >> Zhi Yong Wu > > >