aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2022-01-31 19:10:37 -0500
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2022-02-14 14:46:01 +0530
commitd37002a5f54b08e1bd6c3f7182e47d941b60137b (patch)
tree8348cd1f03f4465a716002971c9b85a76cc914a4
parent4274e0f42a9673df981dd7a7a456f4d4fcfe5452 (diff)
downloadmeson-d37002a5f54b08e1bd6c3f7182e47d941b60137b.zip
meson-d37002a5f54b08e1bd6c3f7182e47d941b60137b.tar.gz
meson-d37002a5f54b08e1bd6c3f7182e47d941b60137b.tar.bz2
run_unittests: check for pytest and pytest-xdist separately
Do not quit from using pytest at all, when pytest is present, simply because xdist isn't available. Even without xdist, pytest is still useful. There doesn't seem to be any particular reason to require xdist. It just happens to have been implemented that way, back in commit 4200afc74d1e6ba6d117e900799d0d82a85bae8a when we originally added a check to avoid pytest erroring out with unknown options when xdist options are passed and xdist is not installed.
-rwxr-xr-xrun_unittests.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/run_unittests.py b/run_unittests.py
index ad62823..ddcde76 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -122,13 +122,16 @@ def main():
try:
import pytest # noqa: F401
- # Need pytest-xdist for `-n` arg
- import xdist # noqa: F401
pytest_args = []
- # Don't use pytest-xdist when running single unit tests since it wastes
- # time spawning a lot of processes to distribute tests to in that case.
- if not running_single_tests(sys.argv, cases):
- pytest_args += ['-n', 'auto']
+ try:
+ # Need pytest-xdist for `-n` arg
+ import xdist # noqa: F401
+ # Don't use pytest-xdist when running single unit tests since it wastes
+ # time spawning a lot of processes to distribute tests to in that case.
+ if not running_single_tests(sys.argv, cases):
+ pytest_args += ['-n', 'auto']
+ except ImportError:
+ print('pytest-xdist not found, tests will not be distributed across CPU cores')
# Let there be colors!
if 'CI' in os.environ:
pytest_args += ['--color=yes']
@@ -143,7 +146,7 @@ def main():
pass
return subprocess.run(python_command + ['-m', 'pytest'] + pytest_args).returncode
except ImportError:
- print('pytest-xdist not found, using unittest instead')
+ print('pytest not found, using unittest instead')
# Fallback to plain unittest.
return unittest.main(defaultTest=cases, buffer=True)