From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36771) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLHhj-0005u0-Df for qemu-devel@nongnu.org; Tue, 10 Feb 2015 15:46:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLHhe-0000uD-0v for qemu-devel@nongnu.org; Tue, 10 Feb 2015 15:46:43 -0500 Received: from mx1.redhat.com ([209.132.183.28]:47354) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLHhd-0000ta-Qd for qemu-devel@nongnu.org; Tue, 10 Feb 2015 15:46:37 -0500 Message-ID: <54DA6E28.70100@redhat.com> Date: Tue, 10 Feb 2015 15:46:32 -0500 From: Max Reitz MIME-Version: 1.0 References: <1423555201-32429-1-git-send-email-chenxg@linux.vnet.ibm.com> <1423555201-32429-2-git-send-email-chenxg@linux.vnet.ibm.com> In-Reply-To: <1423555201-32429-2-git-send-email-chenxg@linux.vnet.ibm.com> Content-Type: text/plain; charset=iso-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFC v5 1/5] qemu-iotests: qemu machine type support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Xiao Guang Chen , qemu-devel@nongnu.org Cc: kwolf@redhat.com, mimu@linux.vnet.ibm.com, armbru@redhat.com On 2015-02-10 at 02:59, Xiao Guang Chen wrote: > 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. > > Signed-off-by: Xiao Guang Chen,chenxg@linux.vnet.ibm.com Should be "Xiao Guang Chen ", but that can be fixed up by the applying maintainer. > --- > 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" It'd be good if someone else (who knows more about awk than me, which means, who just knows anything) could review this, but apart from me not knowing how this might break: Reviewed-by: Max Reitz > [ -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') >