From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44354) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RdjYU-0006P8-Uq for qemu-devel@nongnu.org; Thu, 22 Dec 2011 09:23:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RdjYP-0005zw-B2 for qemu-devel@nongnu.org; Thu, 22 Dec 2011 09:23:34 -0500 Received: from cpe-70-123-132-139.austin.res.rr.com ([70.123.132.139]:37585 helo=localhost6.localdomain6) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RdjYO-0005zj-Uo for qemu-devel@nongnu.org; Thu, 22 Dec 2011 09:23:29 -0500 From: Anthony Liguori Date: Thu, 22 Dec 2011 08:23:25 -0600 Message-Id: <1324563805-4285-1-git-send-email-aliguori@us.ibm.com> Subject: [Qemu-devel] [PATCH] qemu-test: add virtio-serial test List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori This is a pretty simple test that just confirms that virtio-serial shows up and is writable. It also tests the alias for virtio-serial-pci. Signed-off-by: Anthony Liguori --- tests/virtio-serial.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) create mode 100755 tests/virtio-serial.sh diff --git a/tests/virtio-serial.sh b/tests/virtio-serial.sh new file mode 100755 index 0000000..e95ae6e --- /dev/null +++ b/tests/virtio-serial.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +canary="** waiting for... **" + +in_host() { + tmpchr=$tmpdir/chr.log + + # Also test alias + devname=`choose virtio-serial virtio-serial-pci` + + qemu -nographic -enable-kvm -device $devname \ + -device virtserialport,name=org.qemu.test,chardev=chr0 \ + -chardev file,path=$tmpchr,id=chr0 + rc=$? + + if test $rc = 0; then + if ! grep "$canary" $tmpchr >/dev/null; then + echo "Failed to see output from guest!" + rc=1 + fi + fi + + rm -f $tmpchr + + return $rc +} + +in_guest() { + sysfspath=/sys/bus/virtio/devices/virtio0/virtio-ports/vport0p1 + if ! test -e $sysfspath/name; then + echo "Device not visible!" + return 1 + fi + + name=`cat $sysfspath/name` + + if test "$name" != "org.qemu.test"; then + echo "Device has wrong name!" + echo "Expected 'org.qemu.test', got '$name'" + return 2 + fi + + echo "$canary" > /dev/vport0p1 + + return 0 +} + +if test $QEMU_TEST; then + in_host +else + in_guest +fi -- 1.7.4.1