Package: src:numpydoc
Version: 1.5.0-1
Severity: important
Tags: sid trixie
User: [email protected]
Usertags: python3.12

numpydoc's autopkg tests fail with Python 3.12:

[...]
393s Testing with python3.12:
394s ============================= test session starts ==============================
394s platform linux -- Python 3.12.0+, pytest-7.4.3, pluggy-1.3.0
394s rootdir: /tmp/autopkgtest.wwyJzK/autopkgtest_tmp
394s plugins: cov-4.1.0
394s collected 217 items
394s
394s tests/test_docscrape.py ................................................ [ 22%] 394s ............ [ 27%] 395s tests/test_full.py ..... [ 29%] 395s tests/test_main.py ...... [ 32%] 395s tests/test_numpydoc.py ......... [ 36%] 395s tests/test_validate.py ................................................. [ 59%] 395s .........xF.x............ [ 70%] 395s tests/test_xref.py ..................................................... [ 95%] 395s .......... [100%]
395s
395s =================================== FAILURES =================================== 395s __ TestValidator.test_bad_docstrings[BadReturns-return_not_documented-msgs31] __
395s
395s self = <test_validate.TestValidator object at 0x7f30b2a605f0>
395s capsys = <_pytest.capture.CaptureFixture object at 0x7f30b1111b20>
395s klass = 'BadReturns', func = 'return_not_documented'
395s msgs = ('No Returns section found',)
395s
395s     @pytest.mark.parametrize(
395s         "klass,func,msgs",
395s         [
395s             # See Also tests
395s             (
395s                 "BadGenericDocStrings",
395s                 "unknown_section",
395s                 ('Found unknown section "Unknown Section".',),
395s             ),
395s             (
395s                 "BadGenericDocStrings",
395s                 "sections_in_wrong_order",
395s                 (
395s "Sections are in the wrong order. Correct order is: Parameters, "
395s                     "See Also, Examples",
395s                 ),
395s             ),
395s             (
395s                 "BadGenericDocStrings",
395s                 "deprecation_in_wrong_order",
395s ("Deprecation warning should precede extended summary",),
395s             ),
395s             (
395s                 "BadGenericDocStrings",
395s                 "directives_without_two_colons",
395s                 (
395s "reST directives ['versionchanged', 'versionadded', "
395s                     "'deprecated'] must be followed by two colons",
395s                 ),
395s             ),
395s             (
395s                 "BadSeeAlso",
395s                 "no_desc",
395s ('Missing description for See Also "Series.tail" reference',),
395s             ),
395s             (
395s                 "BadSeeAlso",
395s                 "desc_no_period",
395s ('Missing period at end of description for See Also "Series.iloc"',),
395s             ),
395s             (
395s                 "BadSeeAlso",
395s                 "desc_first_letter_lowercase",
395s                 ('should be capitalized for See Also "Series.tail"',),
395s             ),
395s             # Summary tests
395s             (
395s                 "BadSummaries",
395s                 "no_summary",
395s                 ("No summary found",),
395s             ),
395s             (
395s                 "BadSummaries",
395s                 "heading_whitespaces",
395s                 ("Summary contains heading whitespaces",),
395s             ),
395s             (
395s                 "BadSummaries",
395s                 "wrong_line",
395s                 (
395s "should start in the line immediately after the opening quotes",
395s                     "should be placed in the line after the last text",
395s                 ),
395s             ),
395s ("BadSummaries", "no_punctuation", ("Summary does not end with a period",)),
395s             (
395s                 "BadSummaries",
395s                 "no_capitalization",
395s                 ("Summary does not start with a capital letter",),
395s             ),
395s             (
395s                 "BadSummaries",
395s                 "no_capitalization",
395s                 ("Summary must start with infinitive verb",),
395s             ),
395s ("BadSummaries", "multi_line", ("Summary should fit in a single line",)),
395s             (
395s                 "BadSummaries",
395s                 "two_paragraph_multi_line",
395s                 ("Summary should fit in a single line",),
395s             ),
395s             # Parameters tests
395s             (
395s                 "BadParameters",
395s                 "no_type",
395s                 ('Parameter "value" has no type',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "type_with_period",
395s                 ('Parameter "value" type should not finish with "."',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "no_description",
395s                 ('Parameter "value" has no description',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "missing_params",
395s                 ("Parameters {'**kwargs'} not documented",),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "bad_colon_spacing",
395s                 (
395s 'Parameter "kind" requires a space before the colon '
395s                     "separating the parameter name and type",
395s                 ),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "no_description_period",
395s ('Parameter "kind" description should finish with "."',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "no_description_period_with_directive",
395s ('Parameter "kind" description should finish with "."',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "parameter_capitalization",
395s ('Parameter "kind" description should start with a capital letter',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "integer_parameter",
395s ('Parameter "kind" type should use "int" instead of "integer"',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "string_parameter",
395s ('Parameter "kind" type should use "str" instead of "string"',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "boolean_parameter",
395s ('Parameter "kind" type should use "bool" instead of "boolean"',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "list_incorrect_parameter_type",
395s ('Parameter "kind" type should use "bool" instead of "boolean"',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "list_incorrect_parameter_type",
395s ('Parameter "kind" type should use "int" instead of "integer"',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "list_incorrect_parameter_type",
395s ('Parameter "kind" type should use "str" instead of "string"',),
395s             ),
395s             (
395s                 "BadParameters",
395s                 "bad_parameter_spacing",
395s ("Parameters {'b'} not documented", "Unknown parameters {' b'}"),
395s             ),
395s             pytest.param(
395s                 "BadParameters",
395s                 "blank_lines",
395s                 ("No error yet?",),
395s                 marks=pytest.mark.xfail,
395s             ),
395s             # Returns tests
395s ("BadReturns", "return_not_documented", ("No Returns section found",)), 395s ("BadReturns", "yield_not_documented", ("No Yields section found",)), 395s pytest.param("BadReturns", "no_type", ("foo",), marks=pytest.mark.xfail), 395s ("BadReturns", "no_description", ("Return value has no description",)),
395s             (
395s                 "BadReturns",
395s                 "no_punctuation",
395s                 ('Return value description should finish with "."',),
395s             ),
395s             (
395s                 "BadReturns",
395s                 "named_single_return",
395s                 (
395s "The first line of the Returns section should contain only the "
395s                     "type, unless multiple values are being returned",
395s                 ),
395s             ),
395s             (
395s                 "BadReturns",
395s                 "no_capitalization",
395s ("Return value description should start with a capital letter",),
395s             ),
395s             (
395s                 "BadReturns",
395s                 "no_period_multi",
395s                 ('Return value description should finish with "."',),
395s             ),
395s             (
395s                 "BadGenericDocStrings",
395s                 "method_wo_docstrings",
395s                 ("The object does not have a docstring",),
395s             ),
395s             (
395s                 "BadGenericDocStrings",
395s                 "two_linebreaks_between_sections",
395s                 (
395s "Double line break found; please use only one blank line to " 395s "separate sections or paragraphs, and do not leave blank lines "
395s                     "at the end of docstrings",
395s                 ),
395s             ),
395s             (
395s                 "BadGenericDocStrings",
395s                 "linebreak_at_end_of_docstring",
395s                 (
395s "Double line break found; please use only one blank line to " 395s "separate sections or paragraphs, and do not leave blank lines "
395s                     "at the end of docstrings",
395s                 ),
395s             ),
395s         ],
395s     )
395s     def test_bad_docstrings(self, capsys, klass, func, msgs):
395s         with warnings.catch_warnings(record=True) as w:
395s result = validate_one(self._import_path(klass=klass, func=func))
395s         if len(w):
395s > assert all("Unknown section" in str(ww.message) for ww in w)
395s E           assert False
395s E + where False = all(<generator object TestValidator.test_bad_docstrings.<locals>.<genexpr> at 0x7f30b10c3760>)
395s
395s /usr/lib/python3/dist-packages/numpydoc/tests/test_validate.py:1417: AssertionError 395s =============================== warnings summary ===============================
395s ../../../usr/lib/python3/dist-packages/pytz/__init__.py:30
395s /usr/lib/python3/dist-packages/pytz/__init__.py:30: SyntaxWarning: invalid escape sequence '\s'
395s     match = re.match("^#\s*version\s*([0-9a-z]*)\s*$", line)
395s
395s ../../../usr/lib/python3/dist-packages/babel/messages/catalog.py:13
395s /usr/lib/python3/dist-packages/babel/messages/catalog.py:13: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
395s     from cgi import parse_header
395s
395s tests/test_validate.py::TestValidator::test_good_functions[empty_returns] 395s tests/test_validate.py::TestValidator::test_good_functions[empty_returns] 395s tests/test_validate.py::TestValidator::test_good_functions[empty_returns]
395s tests/test_validate.py::TestValidator::test_bad_generic_functions[func]
395s /usr/lib/python3/dist-packages/numpydoc/validate.py:419: DeprecationWarning: ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead
395s     if isinstance(v, ast.NameConstant) and v.value is None:
395s
395s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
395s =========================== short test summary info ============================ 395s FAILED tests/test_validate.py::TestValidator::test_bad_docstrings[BadReturns-return_not_documented-msgs31] 395s ============= 1 failed, 214 passed, 2 xfailed, 6 warnings in 1.88s =============

Reply via email to