mirror of https://github.com/xemu-project/xemu.git
tests/qemu-iotests: enable testing with aio options
Signed-off-by: Aarushi Mehta <mehta.aaru20@gmail.com> Acked-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20200120141858.587874-15-stefanha@redhat.com Message-Id: <20200120141858.587874-15-stefanha@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
7680274da1
commit
7156ca4888
|
@ -137,6 +137,7 @@ sortme=false
|
|||
expunge=true
|
||||
have_test_arg=false
|
||||
cachemode=false
|
||||
aiomode=false
|
||||
|
||||
tmp="${TEST_DIR}"/$$
|
||||
rm -f $tmp.list $tmp.tmp $tmp.sed
|
||||
|
@ -146,6 +147,7 @@ export IMGFMT_GENERIC=true
|
|||
export IMGPROTO=file
|
||||
export IMGOPTS=""
|
||||
export CACHEMODE="writeback"
|
||||
export AIOMODE="threads"
|
||||
export QEMU_IO_OPTIONS=""
|
||||
export QEMU_IO_OPTIONS_NO_FMT=""
|
||||
export CACHEMODE_IS_DEFAULT=true
|
||||
|
@ -230,6 +232,11 @@ s/ .*//p
|
|||
CACHEMODE_IS_DEFAULT=false
|
||||
cachemode=false
|
||||
continue
|
||||
elif $aiomode
|
||||
then
|
||||
AIOMODE="$r"
|
||||
aiomode=false
|
||||
continue
|
||||
fi
|
||||
|
||||
xpand=true
|
||||
|
@ -274,6 +281,7 @@ other options
|
|||
-n show me, do not run tests
|
||||
-o options -o options to pass to qemu-img create/convert
|
||||
-c mode cache mode
|
||||
-i mode AIO mode
|
||||
-makecheck pretty print output for make check
|
||||
|
||||
testlist options
|
||||
|
@ -438,10 +446,13 @@ testlist options
|
|||
cachemode=true
|
||||
xpand=false
|
||||
;;
|
||||
-i)
|
||||
aiomode=true
|
||||
xpand=false
|
||||
;;
|
||||
-T) # deprecated timestamp option
|
||||
xpand=false
|
||||
;;
|
||||
|
||||
-v)
|
||||
verbose=true
|
||||
xpand=false
|
||||
|
@ -520,6 +531,8 @@ done
|
|||
|
||||
# Set qemu-io cache mode with $CACHEMODE we have
|
||||
QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS --cache $CACHEMODE"
|
||||
# Set qemu-io aio mode with $AIOMODE we have
|
||||
QEMU_IO_OPTIONS="$QEMU_IO_OPTIONS --aio $AIOMODE"
|
||||
|
||||
QEMU_IO_OPTIONS_NO_FMT="$QEMU_IO_OPTIONS"
|
||||
if [ "$IMGOPTSSYNTAX" != "true" ]; then
|
||||
|
|
|
@ -645,6 +645,20 @@ _default_cache_mode()
|
|||
return
|
||||
fi
|
||||
}
|
||||
_supported_aio_modes()
|
||||
{
|
||||
for mode; do
|
||||
if [ "$mode" = "$AIOMODE" ]; then
|
||||
return
|
||||
fi
|
||||
done
|
||||
_notrun "not suitable for aio mode: $AIOMODE"
|
||||
}
|
||||
_default_aio_mode()
|
||||
{
|
||||
AIOMODE="$1"
|
||||
QEMU_IO="$QEMU_IO --aio $1"
|
||||
}
|
||||
|
||||
_unsupported_imgopts()
|
||||
{
|
||||
|
|
|
@ -65,6 +65,7 @@ test_dir = os.environ.get('TEST_DIR')
|
|||
sock_dir = os.environ.get('SOCK_DIR')
|
||||
output_dir = os.environ.get('OUTPUT_DIR', '.')
|
||||
cachemode = os.environ.get('CACHEMODE')
|
||||
aiomode = os.environ.get('AIOMODE')
|
||||
qemu_default_machine = os.environ.get('QEMU_DEFAULT_MACHINE')
|
||||
|
||||
socket_scm_helper = os.environ.get('SOCKET_SCM_HELPER', 'socket_scm_helper')
|
||||
|
@ -495,6 +496,7 @@ class VM(qtest.QEMUQtestMachine):
|
|||
options.append('file=%s' % path)
|
||||
options.append('format=%s' % format)
|
||||
options.append('cache=%s' % cachemode)
|
||||
options.append('aio=%s' % aiomode)
|
||||
|
||||
if opts:
|
||||
options.append(opts)
|
||||
|
@ -937,6 +939,10 @@ def verify_cache_mode(supported_cache_modes=[]):
|
|||
if supported_cache_modes and (cachemode not in supported_cache_modes):
|
||||
notrun('not suitable for this cache mode: %s' % cachemode)
|
||||
|
||||
def verify_aio_mode(supported_aio_modes=[]):
|
||||
if supported_aio_modes and (aiomode not in supported_aio_modes):
|
||||
notrun('not suitable for this aio mode: %s' % aiomode)
|
||||
|
||||
def supports_quorum():
|
||||
return 'quorum' in qemu_img_pipe('--help')
|
||||
|
||||
|
@ -1023,8 +1029,9 @@ def execute_unittest(output, verbosity, debug):
|
|||
|
||||
def execute_test(test_function=None,
|
||||
supported_fmts=[], supported_oses=['linux'],
|
||||
supported_cache_modes=[], unsupported_fmts=[],
|
||||
supported_protocols=[], unsupported_protocols=[]):
|
||||
supported_cache_modes=[], supported_aio_modes={},
|
||||
unsupported_fmts=[], supported_protocols=[],
|
||||
unsupported_protocols=[]):
|
||||
"""Run either unittest or script-style tests."""
|
||||
|
||||
# We are using TEST_DIR and QEMU_DEFAULT_MACHINE as proxies to
|
||||
|
@ -1041,6 +1048,7 @@ def execute_test(test_function=None,
|
|||
verify_protocol(supported_protocols, unsupported_protocols)
|
||||
verify_platform(supported_oses)
|
||||
verify_cache_mode(supported_cache_modes)
|
||||
verify_aio_mode(supported_aio_modes)
|
||||
|
||||
if debug:
|
||||
output = sys.stdout
|
||||
|
|
Loading…
Reference in New Issue