From: Alex Waygood Date: Fri, 4 Aug 2023 19:41:04 +0000 (+0100) Subject: gh-106368: Argument clinic: improve coverage for `self.valid_line()` calls (#107641) X-Git-Tag: v3.13.0a1~1074 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2c25bd82f46df72c89ca5bca10eaa06137ab8290;p=thirdparty%2FPython%2Fcpython.git gh-106368: Argument clinic: improve coverage for `self.valid_line()` calls (#107641) --- diff --git a/Lib/test/test_clinic.py b/Lib/test/test_clinic.py index dd17d02519bf..84b6a193ecf9 100644 --- a/Lib/test/test_clinic.py +++ b/Lib/test/test_clinic.py @@ -1057,6 +1057,38 @@ class ClinicParserTest(TestCase): Okay, we're done here. """) + def test_docstring_with_comments(self): + function = self.parse_function(dedent(""" + module foo + foo.bar + x: int + # We're about to have + # the documentation for x. + Documentation for x. + # We've just had + # the documentation for x. + y: int + + # We're about to have + # the documentation for foo. + This is the documentation for foo. + # We've just had + # the documentation for foo. + + Okay, we're done here. + """)) + self.checkDocstring(function, """ + bar($module, /, x, y) + -- + + This is the documentation for foo. + + x + Documentation for x. + + Okay, we're done here. + """) + def test_parser_regression_special_character_in_parameter_column_of_docstring_first_line(self): function = self.parse_function(dedent(""" module os diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 917f1bfeb1d2..7fbae1e0d870 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -4685,9 +4685,7 @@ class DSLParser: # this line is permitted to start with whitespace. # we'll call this number of spaces F (for "function"). - if not self.valid_line(line): - return - + assert self.valid_line(line) self.indent.infer(line) # are we cloning?