diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2022-01-31 19:10:37 -0500 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2022-02-14 14:46:01 +0530 |
commit | d37002a5f54b08e1bd6c3f7182e47d941b60137b (patch) | |
tree | 8348cd1f03f4465a716002971c9b85a76cc914a4 /run_unittests.py | |
parent | 4274e0f42a9673df981dd7a7a456f4d4fcfe5452 (diff) | |
download | meson-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.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-x | run_unittests.py | 17 |
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) |