From 85cd1c5e0b95a75385e68972ceef3329edb7b7f0 Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Mon, 30 Oct 2023 10:38:27 -0400
Subject: [PATCH 1/2] Fix tests to handle Python 3.13 stripping indents from
docstrings
https://docs.python.org/3.13/whatsnew/3.13.html#other-language-changes
https://github.com/python/cpython/issues/81283
---
parameterized/test.py | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/parameterized/test.py b/parameterized/test.py
index 6c71f79..6419171 100644
--- a/parameterized/test.py
+++ b/parameterized/test.py
@@ -408,10 +408,16 @@ def test_multiline_documentation(self, foo):
"""Documentation.
More"""
- self._assert_docstring(
- "Documentation [with foo=%r].\n\n"
- " More" %(foo, )
- )
+ if sys.version_info[:2] < (3, 13):
+ self._assert_docstring(
+ "Documentation [with foo=%r].\n\n"
+ " More" %(foo, )
+ )
+ else:
+ self._assert_docstring(
+ "Documentation [with foo=%r].\n\n"
+ "More" %(foo, )
+ )
@parameterized.expand([param("foo")])
def test_unicode_docstring(self, foo):
From dc7b89e9c995137219f3e53f5314824c4a0b914f Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Mon, 30 Oct 2023 10:49:25 -0400
Subject: [PATCH 2/2] More elegantly patch tests for Python 3.13 docstring
cleaning
---
parameterized/test.py | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/parameterized/test.py b/parameterized/test.py
index 6419171..6d11e32 100644
--- a/parameterized/test.py
+++ b/parameterized/test.py
@@ -385,6 +385,8 @@ def _assert_docstring(self, expected_docstring, rstrip=False):
actual_docstring = test_method.__doc__
if rstrip:
actual_docstring = actual_docstring.rstrip()
+ if sys.version_info[:2] >= (3, 13):
+ expected_docstring = inspect.cleandoc(expected_docstring)
assert_equal(actual_docstring, expected_docstring)
@parameterized.expand([param("foo")],
@@ -408,16 +410,10 @@ def test_multiline_documentation(self, foo):
"""Documentation.
More"""
- if sys.version_info[:2] < (3, 13):
- self._assert_docstring(
- "Documentation [with foo=%r].\n\n"
- " More" %(foo, )
- )
- else:
- self._assert_docstring(
- "Documentation [with foo=%r].\n\n"
- "More" %(foo, )
- )
+ self._assert_docstring(
+ "Documentation [with foo=%r].\n\n"
+ " More" %(foo, )
+ )
@parameterized.expand([param("foo")])
def test_unicode_docstring(self, foo):