https://github.com/python/cpython/commit/22b25d1ebaab7b8c4833a8c120c8b4699a830f40
commit: 22b25d1ebaab7b8c4833a8c120c8b4699a830f40
branch: main
author: Malcolm Smith <[email protected]>
committer: sobolevn <[email protected]>
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 <[email protected]>

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 -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to