[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 1/6] iotests: remove 'linux' from default supported platforms
From: |
Thomas Huth |
Subject: |
[PATCH v4 1/6] iotests: remove 'linux' from default supported platforms |
Date: |
Mon, 2 Dec 2019 11:10:34 +0100 |
From: John Snow <address@hidden>
verify_platform will check an explicit whitelist and blacklist instead.
The default will now be assumed to be allowed to run anywhere.
For tests that do not specify their platforms explicitly, this has the effect of
enabling these tests on non-linux platforms. For tests that always specified
linux explicitly, there is no change.
For Python tests on FreeBSD at least; only seven python tests fail:
045 147 149 169 194 199 211
045 and 149 appear to be misconfigurations,
147 and 194 are the AF_UNIX path too long error,
169 and 199 are bitmap migration bugs, and
211 is a bug that shows up on Linux platforms, too.
This is at least good evidence that these tests are not Linux-only. If
they aren't suitable for other platforms, they should be disabled on a
per-platform basis as appropriate.
Therefore, let's switch these on and deal with the failures.
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: John Snow <address@hidden>
---
tests/qemu-iotests/iotests.py | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index df0708923d..de8b904d87 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -896,9 +896,14 @@ def verify_protocol(supported=[], unsupported=[]):
if not_sup or (imgproto in unsupported):
notrun('not suitable for this protocol: %s' % imgproto)
-def verify_platform(supported_oses=['linux']):
- if True not in [sys.platform.startswith(x) for x in supported_oses]:
- notrun('not suitable for this OS: %s' % sys.platform)
+def verify_platform(supported=None, unsupported=None):
+ if unsupported is not None:
+ if any((sys.platform.startswith(x) for x in unsupported)):
+ notrun('not suitable for this OS: %s' % sys.platform)
+
+ if supported is not None:
+ if not any((sys.platform.startswith(x) for x in supported)):
+ notrun('not suitable for this OS: %s' % sys.platform)
def verify_cache_mode(supported_cache_modes=[]):
if supported_cache_modes and (cachemode not in supported_cache_modes):
@@ -989,7 +994,8 @@ def execute_unittest(output, verbosity, debug):
sys.stderr.write(out)
def execute_test(test_function=None,
- supported_fmts=[], supported_oses=['linux'],
+ supported_fmts=[],
+ supported_platforms=None,
supported_cache_modes=[], unsupported_fmts=[],
supported_protocols=[], unsupported_protocols=[]):
"""Run either unittest or script-style tests."""
@@ -1006,7 +1012,7 @@ def execute_test(test_function=None,
verbosity = 1
verify_image_format(supported_fmts, unsupported_fmts)
verify_protocol(supported_protocols, unsupported_protocols)
- verify_platform(supported_oses)
+ verify_platform(supported=supported_platforms)
verify_cache_mode(supported_cache_modes)
if debug:
--
2.18.1
- [PATCH v4 0/6] Enable more iotests during "make check-block", Thomas Huth, 2019/12/02
- [PATCH v4 1/6] iotests: remove 'linux' from default supported platforms,
Thomas Huth <=
- [PATCH v4 2/6] iotests: Test 041 only works on certain systems, Thomas Huth, 2019/12/02
- [PATCH v4 3/6] iotests: Test 183 does not work on macOS and OpenBSD, Thomas Huth, 2019/12/02
- [PATCH v4 6/6] iotests: Enable more tests in the 'auto' group to improve test coverage, Thomas Huth, 2019/12/02
- [PATCH v4 5/6] iotests: Skip Python-based tests if QEMU does not support virtio-blk, Thomas Huth, 2019/12/02
- [PATCH v4 4/6] iotests: Check for the availability of the required devices in 267 and 127, Thomas Huth, 2019/12/02