gh-116622: Enable test_doctest on platforms that don't support subprocesses (#116758)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
This commit is contained in:
Malcolm Smith 2024-04-09 12:40:58 +01:00 committed by GitHub
parent f2132fcd2a
commit 22b25d1eba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -18,8 +18,12 @@ import types
import contextlib
if not support.has_subprocess_support:
raise unittest.SkipTest("test_CLI requires subprocess support.")
def doctest_skip_if(condition):
def decorator(func):
if condition and support.HAVE_DOCSTRINGS:
func.__doc__ = ">>> pass # doctest: +SKIP"
return func
return decorator
# NOTE: There are some additional tests relating to interaction with
@ -466,7 +470,7 @@ We'll simulate a __file__ attr that ends in pyc:
>>> tests = finder.find(sample_func)
>>> print(tests) # doctest: +ELLIPSIS
[<DocTest sample_func from test_doctest.py:33 (1 example)>]
[<DocTest sample_func from test_doctest.py:37 (1 example)>]
The exact name depends on how test_doctest was invoked, so allow for
leading path components.
@ -2966,6 +2970,7 @@ Check doctest with a non-ascii filename:
TestResults(failed=1, attempted=1)
"""
@doctest_skip_if(not support.has_subprocess_support)
def test_CLI(): r"""
The doctest module can be used to run doctests against an arbitrary file.
These tests test this CLI functionality.