iotests: use 'driver' as collective term for either format or protocol

The I/O tests integration previously exclusively tested block formats
and now also covers the NBD protocol. Replace references to 'format'
with 'driver', as a generic term to collectively apply to either a
format or protocol.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé
2026-01-14 10:43:37 +00:00
parent 922891df9a
commit a9c326e080
3 changed files with 21 additions and 20 deletions

View File

@@ -237,7 +237,8 @@ check-block
~~~~~~~~~~~
There are a variety of ways to exercise the block layer I/O tests
via make targets.
via make targets for a selection of formats / protocols (collectively
referred to as ``drivers`` below).
A default ``make check`` or ``make check-block`` command will exercise
the ``qcow2`` format, using the tests tagged into the ``auto`` group
@@ -246,14 +247,14 @@ only.
These targets accept the ``SPEED`` variable to augment the set of tests
to run. A slightly more comprehensive test plan can be run by defining
``SPEED=slow``, which enables all tests for the ``qcow2`` and ``raw``
formats. The most comprehensive test plan can be run by defining
``SPEED=thorough``, which enables all available tests for the formats
drivers. The most comprehensive test plan can be run by defining
``SPEED=thorough``, which enables all available tests for the drivers
``luks``, ``nbd``, ``parallels``, ``qcow2``, ``qed``, ``raw``, ``vdi``,
``vhdx``, ``vmdk``, and ``vpc``.
Each of formats also has its own dedicated make target, named
``make check-block-$FORMAT`` which will run all available tests for
the designated format and does not require the ``SPEED`` variable
Each of drivers also has its own dedicated make target, named
``make check-block-$DRIVER`` which will run all available tests for
the designated driver and does not require the ``SPEED`` variable
to be set.
See the "QEMU iotests" section below for more information on the

View File

@@ -14,8 +14,8 @@ check-help:
@echo " $(MAKE) check-unit Run qobject tests"
@echo " $(MAKE) check-qapi-schema Run QAPI schema tests"
@echo " $(MAKE) check-tracetool Run tracetool generator tests"
@echo " $(MAKE) check-block Run block tests (all formats)"
@echo " $(MAKE) check-block-FORMAT Run block tests (only for FORMAT)"
@echo " $(MAKE) check-block Run block tests (all formats/protocols)"
@echo " $(MAKE) check-block-DRIVER Run block tests (only for format/protocol 'DRIVER')"
ifneq ($(filter $(all-check-targets), check-softfloat),)
@echo " $(MAKE) check-softfloat Run FPU emulation tests"
@echo " $(MAKE) check-tcg Run TCG tests"

View File

@@ -12,7 +12,7 @@ qemu_iotests_binaries = [qemu_img, qemu_io, qemu_nbd, qsd]
qemu_iotests_env = {'PYTHON': python.full_path()}
# If altering this definition, also update docs/devel/testing/main.rst
# section on 'check-block' targets to reflect the changes
qemu_iotests_formats = {
qemu_iotests_drivers = {
'qcow2': 'quick',
'raw': 'slow',
'luks': 'thorough',
@@ -33,12 +33,12 @@ endforeach
qemu_iotests_check_cmd = files('check')
foreach format, speed: qemu_iotests_formats
# Formats tagged 'quick' get the subset of tests in the 'auto'
foreach driver, speed: qemu_iotests_drivers
# Drivers tagged 'quick' get the subset of tests in the 'auto'
# group, run by default with 'make check' / 'make check-block'
seen = []
if speed == 'quick'
args = ['-tap', '-' + format, '-g', 'auto']
args = ['-tap', '-' + driver, '-g', 'auto']
suites = ['block']
rc = run_command(
@@ -49,13 +49,13 @@ foreach format, speed: qemu_iotests_formats
foreach item: rc.stdout().strip().split()
seen += item
args = [qemu_iotests_check_cmd,
'-tap', '-' + format, item,
'-tap', '-' + driver, item,
'--source-dir', meson.current_source_dir(),
'--build-dir', meson.current_build_dir()]
# Some individual tests take as long as 45 seconds
# Bump the timeout to 3 minutes for some headroom
# on slow machines to minimize spurious failures
test('io-' + format + '-' + item,
test('io-' + driver + '-' + item,
python,
args: args,
depends: qemu_iotests_binaries,
@@ -66,9 +66,9 @@ foreach format, speed: qemu_iotests_formats
endforeach
endif
# Every format gets put in the format specific suite
suites = ['block-' + format + '-optional']
# Any format tagged quick or slow also gets added to slow
# Every driver gets put in the driver specific suite
suites = ['block-' + driver + '-optional']
# Any driver tagged quick or slow also gets added to slow
# otherwise its tagged thorough
if speed != 'thorough'
suites += ['block-slow']
@@ -76,7 +76,7 @@ foreach format, speed: qemu_iotests_formats
suites += ['block-thorough']
endif
args = ['-tap', '-' + format]
args = ['-tap', '-' + driver]
rc = run_command(
[python, qemu_iotests_check_cmd] + args + ['-n'],
@@ -91,13 +91,13 @@ foreach format, speed: qemu_iotests_formats
endif
args = [qemu_iotests_check_cmd,
'-tap', '-' + format, item,
'-tap', '-' + driver, item,
'--source-dir', meson.current_source_dir(),
'--build-dir', meson.current_build_dir()]
# Some individual tests take as long as 45 seconds
# Bump the timeout to 3 minutes for some headroom
# on slow machines to minimize spurious failures
test('io-' + format + '-' + item,
test('io-' + driver + '-' + item,
python,
args: args,
depends: qemu_iotests_binaries,