From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37200) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLUgD-0003uW-1k for qemu-devel@nongnu.org; Wed, 11 Feb 2015 05:38:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLUg7-0003PQ-GB for qemu-devel@nongnu.org; Wed, 11 Feb 2015 05:38:01 -0500 Received: from e28smtp08.in.ibm.com ([122.248.162.8]:48821) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLUg6-0003Oo-Tu for qemu-devel@nongnu.org; Wed, 11 Feb 2015 05:37:55 -0500 Received: from /spool/local by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Feb 2015 16:07:50 +0530 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by d28dlp03.in.ibm.com (Postfix) with ESMTP id 475F2125805E for ; Wed, 11 Feb 2015 16:08:54 +0530 (IST) Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay03.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t1BAbkb937552326 for ; Wed, 11 Feb 2015 16:07:46 +0530 Received: from d28av04.in.ibm.com (localhost [127.0.0.1]) by d28av04.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t1BAbjwb020536 for ; Wed, 11 Feb 2015 16:07:45 +0530 From: Xiao Guang Chen Date: Wed, 11 Feb 2015 18:37:33 +0800 Message-Id: <1423651057-16204-2-git-send-email-chenxg@linux.vnet.ibm.com> In-Reply-To: <1423651057-16204-1-git-send-email-chenxg@linux.vnet.ibm.com> References: <1423651057-16204-1-git-send-email-chenxg@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH RFC v6 1/5] 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, armbru@redhat.com, mimu@linux.vnet.ibm.com, mreitz@redhat.com 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 241b5ee..1f520ed 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -39,6 +39,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') -- 1.9.1