[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH RFC v4 2/6] qemu-iotests: qemu machine type supp

From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH RFC v4 2/6] qemu-iotests: qemu machine type support
Date: Thu, 05 Feb 2015 09:18:37 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 2015-02-04 at 22:44, Xiao Guang Chen wrote:
From: Mao Chuan Li <address@hidden>

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 <address@hidden>
Signed-off-by: Mao Chuan Li <address@hidden>
  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
+            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" ] && 
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_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.


  [ -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')

reply via email to

[Prev in Thread] Current Thread [Next in Thread]