jenkins-bot submitted this change.
[tests] Update DeprecatorTestCase.test_deprecated_function_docstring
The multiline docstring behaviour was change in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html#other-language-changes
Add a new test mehtod test_deprecated_function_multiline_docstring to
take into accoutn that there is a difference.
Bug: T359069
Change-Id: I7aa1f53fc8612bfe6f40ad098d2dcbb6d3d74c80
---
M tests/tools_deprecate_tests.py
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/tests/tools_deprecate_tests.py b/tests/tools_deprecate_tests.py
index 2cf1f87..c4024b1 100755
--- a/tests/tools_deprecate_tests.py
+++ b/tests/tools_deprecate_tests.py
@@ -19,7 +19,6 @@
remove_last_args,
)
from tests.aspects import DeprecationTestCase
-from tests.utils import expected_failure_if
@add_full_name
@@ -299,8 +298,6 @@
self.assertOneDeprecationParts(__name__ + '.deprecated_func_instead',
'baz')
- # deprecated_func_docstring_arg2 fails with Python 3.13
- @expected_failure_if(PYTHON_VERSION >= (3, 13))
def test_deprecated_function_docstring(self):
"""Test @deprecated docstring modification."""
testcases = [
@@ -315,13 +312,24 @@
'this. Deprecated function.'),
(deprecated_func_docstring_arg, 'Deprecated.\n\n'
':param foo: Foo. DEPRECATED.'),
- (deprecated_func_docstring_arg2, '\n DEPRECATED.\n\n'
- ' :param foo: Foo. DEPRECATED.\n '),
]
for rv, doc in testcases:
with self.subTest(function=rv.__name__):
self.assertEqual(rv.__doc__, doc)
+ def test_deprecated_function_multiline_docstring(self):
+ """Test @deprecated docstring modification on multiline docstring.
+
+ Python 3.13 strips the doc string, see
+ https://docs.python.org/3.13/whatsnew/3.13.html#other-language-changes
+ """
+ doc = '\n DEPRECATED.\n\n :param foo: Foo. DEPRECATED.\n '
+ if PYTHON_VERSION < (3, 13):
+ self.assertEqual(deprecated_func_docstring_arg2.__doc__, doc)
+ else:
+ self.assertEqual(deprecated_func_docstring_arg2.__doc__,
+ doc.replace(' ' * 4, ''))
+
def test_deprecated_function_bad_args(self):
"""Test @deprecated function with bad arguments."""
rv = deprecated_func_bad_args(None)
To view, visit change 1008811. To unsubscribe, or for help writing mail filters, visit settings.