From 8fb8a8d4e1a41c5009b1b0caf7e067748ad88d98 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 16 Aug 2026 08:52:11 +0200 Subject: [PATCH] python3-pydantic: fix ptest ruff-version skew, pytest.warns skew, missing dep test_docs.py lint-checks every doc/docstring code example through ruff (via pytest-examples). The installed ruff's rule set is not version-locked to what pydantic's examples were written for, so ~130 style rules (import sorting, future-annotations, datetime-tz, etc.) get flagged as failures that are not runtime bugs. Disable only the lint step in test_docs.py; the examples are still executed. test_deprecated_fields.py uses pytest.warns(Warning, callable, match=...); newer pytest forwards match= to the callable instead of consuming it, so these raise "unexpected keyword argument 'match'". pytest API version skew; deselect via the existing -k mechanism. test_internal.py's test_representation_integrations needs asttokens (via executing/devtools.debug); add python3-asttokens to RDEPENDS:${PN}-ptest. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- .../python/python3-pydantic_2.13.4.bb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/meta-python/recipes-devtools/python/python3-pydantic_2.13.4.bb b/meta-python/recipes-devtools/python/python3-pydantic_2.13.4.bb index 52d2c855ec..17a6941d14 100644 --- a/meta-python/recipes-devtools/python/python3-pydantic_2.13.4.bb +++ b/meta-python/recipes-devtools/python/python3-pydantic_2.13.4.bb @@ -61,6 +61,8 @@ RDEPENDS:${PN}-ptest += "\ python3-ruff \ python3-pytest-examples \ python3-devtools \ + python3-executing \ + python3-asttokens \ ${PN}-doc \ " @@ -80,7 +82,17 @@ do_install_ptest:append() { rm -f ${D}${PTEST_PATH}/tests/test_mypy.py # We are not trying to run benchmarks rm -rf ${D}${PTEST_PATH}/tests/benchmarks - sed -i -e "/--automake/ s/$/ -k 'not test_config_validation_error_cause and not test_dataclass_config_validate_default and not test_annotated_validator_nested and not test_use_bare and not test_use_no_fields and not test_validator_bad_fields_throws_configerror and not test_assert_raises_validation_error and not test_model_config_validate_default and not test_readonly_qualifier_warning'/" ${D}${PTEST_PATH}/run-ptest + # test_docs.py lint-checks every doc/docstring code example through ruff via + # pytest-examples. ruff's rule set (import sorting, future-annotations, + # datetime-tz, etc.) is not version-locked to what pydantic's examples were + # written for, so the installed ruff flags ~130 style issues that are not + # runtime bugs. Disable only the lint step; the examples are still executed. + sed -i "s/^ if not lint_settings.startswith('skip'):/ if False: # OE: skip ruff lint (uncontrolled ruff version -> lint-only failures)/" \ + ${D}${PTEST_PATH}/tests/test_docs.py + # test_deprecated_fields.py uses pytest.warns(Warning, callable, match=...); + # newer pytest forwards match= to the callable instead of consuming it, so + # these raise "unexpected keyword argument 'match'". pytest API version skew. + sed -i -e "/--automake/ s/$/ -k 'not test_config_validation_error_cause and not test_dataclass_config_validate_default and not test_annotated_validator_nested and not test_use_bare and not test_use_no_fields and not test_validator_bad_fields_throws_configerror and not test_assert_raises_validation_error and not test_model_config_validate_default and not test_readonly_qualifier_warning and not test_deprecated_fields and not test_deprecated_fields_deprecated_class and not test_computed_field_deprecated and not test_deprecated_with_boolean and not test_deprecated_field_forward_annotation'/" ${D}${PTEST_PATH}/run-ptest } FILES:${PN}-doc += "${docdir}/${PN}"