From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54298) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJNGa-00040n-E1 for qemu-devel@nongnu.org; Thu, 05 Feb 2015 09:18:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YJNGU-0005P1-Ju for qemu-devel@nongnu.org; Thu, 05 Feb 2015 09:18:48 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39795) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJNGU-0005Or-CH for qemu-devel@nongnu.org; Thu, 05 Feb 2015 09:18:42 -0500 Message-ID: <54D37BBD.505@redhat.com> Date: Thu, 05 Feb 2015 09:18:37 -0500 From: Max Reitz MIME-Version: 1.0 References: <1423107872-3268-1-git-send-email-chenxg@linux.vnet.ibm.com> <1423107872-3268-3-git-send-email-chenxg@linux.vnet.ibm.com> In-Reply-To: <1423107872-3268-3-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 v4 2/6] 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-04 at 22:44, Xiao Guang Chen wrote: > From: Mao Chuan Li > > This patch adds qemu machine type support to the io test suite. Based on > the qemu default machine type the reference output file can now vary > from the default to a machine specific output file if necessary. That > shall allow all platforms to use this test suite. > > Reviewed-by: Michael Mueller > Signed-off-by: Mao Chuan Li > --- > tests/qemu-iotests/check | 5 +++++ > tests/qemu-iotests/common.config | 1 + > tests/qemu-iotests/iotests.py | 1 + > 3 files changed, 7 insertions(+) > > diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check > index baeae80..c72429b 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 Maybe this should be [ -f "$reference_machine" ]. I guess spaces in the directory name will break the qemu-iotests anyway, but there's no reason not to use quotes here. > + 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 cff91e1..6ded76a 100644 > --- a/tests/qemu-iotests/common.config > +++ b/tests/qemu-iotests/common.config > @@ -107,6 +107,7 @@ export QEMU="$QEMU_PROG $QEMU_OPTIONS" > export QEMU_IMG=$QEMU_IMG_PROG > export QEMU_IO="$QEMU_IO_PROG $QEMU_IO_OPTIONS" > export QEMU_NBD=$QEMU_NBD_PROG > +export QEMU_DEFAULT_MACHINE=$($QEMU -machine ? | awk '/(default)/{print $1}') Interesting that "-machine ?" works. I would have expected it needed to be "-machine \?". Apparently bash does not replace wildcard characters if there is no match (in contrast, zsh errors out in that case). Therefore, this only works as long as there is no single-character-named file in the directory where "check" is executed (test: "touch i; ./check"). Therefore, I think this needs to be "-machine \?" after all. Max > [ -f /etc/qemu-iotest.config ] && . /etc/qemu-iotest.config > > diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py > index 87002e0..8d3f047 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') >