From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33868) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yl6XI-0002Oz-EN for qemu-devel@nongnu.org; Wed, 22 Apr 2015 22:06:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yl6XE-0007xN-9w for qemu-devel@nongnu.org; Wed, 22 Apr 2015 22:06:40 -0400 Received: from e23smtp03.au.ibm.com ([202.81.31.145]:41598) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yl6XD-0007xD-Ly for qemu-devel@nongnu.org; Wed, 22 Apr 2015 22:06:36 -0400 Received: from /spool/local by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 23 Apr 2015 12:06:32 +1000 Received: from d23relay08.au.ibm.com (d23relay08.au.ibm.com [9.185.71.33]) by d23dlp01.au.ibm.com (Postfix) with ESMTP id 1FFD12CE8055 for ; Thu, 23 Apr 2015 12:06:30 +1000 (EST) Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96]) by d23relay08.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t3N26L3M39256304 for ; Thu, 23 Apr 2015 12:06:30 +1000 Received: from d23av01.au.ibm.com (localhost [127.0.0.1]) by d23av01.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t3N25uYc020876 for ; Thu, 23 Apr 2015 12:05:56 +1000 From: Bo Tu Date: Thu, 23 Apr 2015 10:05:21 +0800 Message-Id: <1429754727-11263-2-git-send-email-tubo@linux.vnet.ibm.com> In-Reply-To: <1429754727-11263-1-git-send-email-tubo@linux.vnet.ibm.com> References: <1429754727-11263-1-git-send-email-tubo@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH RFC v7 1/7] qemu-iotests: qemu machine type support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, mreitz@redhat.com, armbru@redhat.com, mimu@linux.vnet.ibm.com From: Xiao Guang Chen This patch adds qemu machine type support to the io test suite. Based on the qemu default machine type and alias of the default machine type the reference output file can now vary from the default to a machine specific output file if necessary. When using a machine specific reference file if the default machine has an alias then use the alias as the output file name otherwise use the default machine name as the output file name. Reviewed-by: Max Reitz Reviewed-by: Michael Mueller Signed-off-by: Xiao Guang Chen --- tests/qemu-iotests/check | 5 +++++ tests/qemu-iotests/common.config | 9 +++++++++ tests/qemu-iotests/iotests.py | 1 + 3 files changed, 15 insertions(+) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index baeae80..22b2e63 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -324,6 +324,11 @@ do fi reference="$source_iotests/$seq.out" + reference_machine="$source_iotests/$seq.$QEMU_DEFAULT_MACHINE.out" + if [ -f "$reference_machine" ]; then + reference="$reference_machine" + fi + if [ "$CACHEMODE" = "none" ]; then [ -f "$source_iotests/$seq.out.nocache" ] && reference="$source_iotests/$seq.out.nocache" fi diff --git a/tests/qemu-iotests/common.config b/tests/qemu-iotests/common.config index a1973ad..0288cb1 100644 --- a/tests/qemu-iotests/common.config +++ b/tests/qemu-iotests/common.config @@ -107,6 +107,15 @@ export QEMU=$QEMU_PROG export QEMU_IMG=$QEMU_IMG_PROG export QEMU_IO="$QEMU_IO_PROG $QEMU_IO_OPTIONS" export QEMU_NBD=$QEMU_NBD_PROG +default_machine=$($QEMU -machine \? | awk '/(default)/{print $1}') +default_alias_machine=$($QEMU -machine \? |\ + awk -v var_default_machine="$default_machine"\)\ + '{if ($(NF-2)=="(alias"&&$(NF-1)=="of"&&$(NF)==var_default_machine){print $1}}') +if [ ! -z "$default_alias_machine" ]; then + default_machine="$default_alias_machine" +fi + +export QEMU_DEFAULT_MACHINE="$default_machine" [ -f /etc/qemu-iotest.config ] && . /etc/qemu-iotest.config diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 1402854..36917bd 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -42,6 +42,7 @@ imgproto = os.environ.get('IMGPROTO', 'file') test_dir = os.environ.get('TEST_DIR', '/var/tmp') output_dir = os.environ.get('OUTPUT_DIR', '.') cachemode = os.environ.get('CACHEMODE') +qemu_default_machine = os.environ.get('QEMU_DEFAULT_MACHINE') socket_scm_helper = os.environ.get('SOCKET_SCM_HELPER', 'socket_scm_helper') -- 2.3.0