Mailing List Archive

gh-116622: Enable `test_doctest` on platforms that don't support subprocesses (#116758)
https://github.com/python/cpython/commit/22b25d1ebaab7b8c4833a8c120c8b4699a830f40
commit: 22b25d1ebaab7b8c4833a8c120c8b4699a830f40
branch: main
author: Malcolm Smith <smith@chaquo.com>
committer: sobolevn <mail@sobolevn.me>
date: 2024-04-09T14:40:58+03:00
summary:

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

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>

files:
M Lib/test/test_doctest/test_doctest.py

diff --git a/Lib/test/test_doctest/test_doctest.py b/Lib/test/test_doctest/test_doctest.py
index dd8cc9be3a4a8a..0a2a016fff13e5 100644
--- a/Lib/test/test_doctest/test_doctest.py
+++ b/Lib/test/test_doctest/test_doctest.py
@@ -18,8 +18,12 @@
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 @@ def basics(): r"""
>>> 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 @@ def test_unicode(): """
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.

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-leave@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: list-python-checkins@lists.gossamer-threads.com