commit:     b8134d0ae932a3aabcf7623fed718c66e98c1307
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 17 08:09:44 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 17 09:11:18 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8134d0a

dev-python/cattrs: enable py3.14

Skip a bunch of tests as Fedora are doing. It's not ideal but the situation
doesn't seem too bad.

Bug: https://github.com/python-attrs/cattrs/issues/626
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/cattrs/cattrs-25.1.1.ebuild | 63 +++++++++++++++++++++++++++++++++-
 1 file changed, 62 insertions(+), 1 deletion(-)

diff --git a/dev-python/cattrs/cattrs-25.1.1.ebuild 
b/dev-python/cattrs/cattrs-25.1.1.ebuild
index 5a5cf8168bcb..be1d98f9497c 100644
--- a/dev-python/cattrs/cattrs-25.1.1.ebuild
+++ b/dev-python/cattrs/cattrs-25.1.1.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
 
 inherit distutils-r1
 
@@ -75,6 +75,67 @@ python_test() {
                )
        fi
 
+       # https://github.com/python-attrs/cattrs/issues/626
+       # https://github.com/python-attrs/cattrs/pull/653
+       if [[ ${EPYTHON} == python3.14* ]] ; then
+               EPYTEST_DESELECT+=(
+                       
'tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses]'
+                       
'tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_parents_with_generics[False]'
+                       
'tests/strategies/test_include_subclasses.py::test_parents_with_generics[True]'
+                       
tests/strategies/test_include_subclasses.py::test_structure_as_union
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent]'
+                       
'tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent]'
+                       
'tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container]'
+                       tests/test_gen_dict.py::test_type_names_with_quotes
+                       tests/test_generics.py::test_deep_copy
+                       
'tests/test_generics.py::test_structure_nested_generics_with_cols[False-int-result0]'
+                       
'tests/test_generics.py::test_structure_nested_generics_with_cols[False]'
+                       
'tests/test_generics.py::test_structure_nested_generics_with_cols[True-int-result0]'
+                       
'tests/test_generics.py::test_structure_nested_generics_with_cols[True]'
+                       'tests/test_self.py::test_nested_roundtrip[False]'
+                       'tests/test_self.py::test_nested_roundtrip[True]'
+                       'tests/test_self.py::test_self_roundtrip[False]'
+                       'tests/test_self.py::test_self_roundtrip[True]'
+                       
'tests/test_self.py::test_self_roundtrip_dataclass[False]'
+                       
'tests/test_self.py::test_self_roundtrip_dataclass[True]'
+                       
'tests/test_self.py::test_self_roundtrip_namedtuple[False]'
+                       
'tests/test_self.py::test_self_roundtrip_namedtuple[True]'
+                       
'tests/test_self.py::test_self_roundtrip_typeddict[False]'
+                       
'tests/test_self.py::test_self_roundtrip_typeddict[True]'
+                       'tests/test_self.py::test_subclass_roundtrip[False]'
+                       'tests/test_self.py::test_subclass_roundtrip[True]'
+                       
'tests/test_self.py::test_subclass_roundtrip_dataclass[False]'
+                       
'tests/test_self.py::test_subclass_roundtrip_dataclass[True]'
+                       tests/test_structure.py::test_structuring_unsupported
+               )
+       fi
+
        local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
        epytest -o addopts= tests
 }

Reply via email to