From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49155) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YyB2m-0006Ml-Q5 for qemu-devel@nongnu.org; Thu, 28 May 2015 23:33:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YyB2j-00013x-Ka for qemu-devel@nongnu.org; Thu, 28 May 2015 23:33:12 -0400 Received: from e23smtp01.au.ibm.com ([202.81.31.143]:45797) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YyB2j-00012c-0Q for qemu-devel@nongnu.org; Thu, 28 May 2015 23:33:09 -0400 Received: from /spool/local by e23smtp01.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 29 May 2015 13:33:05 +1000 Received: from d23relay08.au.ibm.com (d23relay08.au.ibm.com [9.185.71.33]) by d23dlp03.au.ibm.com (Postfix) with ESMTP id AB4BB357804C for ; Fri, 29 May 2015 13:33:03 +1000 (EST) Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138]) by d23relay08.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t4T3WruS66846844 for ; Fri, 29 May 2015 13:33:02 +1000 Received: from d23av02.au.ibm.com (localhost [127.0.0.1]) by d23av02.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t4T3WUkY026955 for ; Fri, 29 May 2015 13:32:30 +1000 From: Bo Tu Date: Fri, 29 May 2015 11:32:03 +0800 Message-Id: <1432870329-7502-2-git-send-email-tubo@linux.vnet.ibm.com> In-Reply-To: <1432870329-7502-1-git-send-email-tubo@linux.vnet.ibm.com> References: <1432870329-7502-1-git-send-email-tubo@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v10 1/7] qemu-iotests: qemu machine type support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kwolf@redhat.com Cc: mreitz@redhat.com, mimu@linux.vnet.ibm.com, qemu-devel@nongnu.org, armbru@redhat.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 1fa6319..6d58203 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -330,6 +330,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 04a294d..7b65469 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