Bug 2424294

Summary: python-et_xmlfile fails to build with Python 3.15: ElementTreeTest.test_iterparse: AssertionError: Lists differ: [<WarningMessage {message : ResourceWarnin[235 chars]ne}>] != []
Product: [Fedora] Fedora Reporter: Karolina Surma <ksurma>
Component: python-et_xmlfileAssignee: Julien Enselme <jujens>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: igor.raits, jujens, ksurma, mhroncok
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2412434    

Description Karolina Surma 2025-12-22 14:25:19 UTC
python-et_xmlfile fails to build with Python 3.15.0a3.

________________________ ElementTreeTest.test_iterparse ________________________

self = <et_xmlfile.tests.test_incremental_tree_with_stdlib_tests.make_modified_tests.<locals>.ElementTreeTest testMethod=test_iterparse>

    def test_iterparse(self):
        if sys.version_info[:2] < (3, 9):
            pass
        elif sys.version_info[:2] < (3, 13):
            self._test_iterparse_pre_3_13()
        else:
>           super().test_iterparse()

__class__  = <class 'et_xmlfile.tests.stdlib_base_tests.ElementTreeTest'>
self       = <et_xmlfile.tests.test_incremental_tree_with_stdlib_tests.make_modified_tests.<locals>.ElementTreeTest testMethod=test_iterparse>

et_xmlfile/tests/stdlib_base_tests.py:190: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
et_xmlfile/tests/_vendor/test/test_xml_etree.py:655: in test_iterparse
    with warnings_helper.check_no_resource_warning(self):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        action     = 'end'
        context    = <xml.etree.ElementTree.iterparse.<locals>.IterParseIterator object at 0x7fb6ed7a9400>
        elem       = <Element 'document' at 0x7fb6ed8257b0>
        events     = ('start-ns',)
        f          = <_io.BufferedWriter name='@test_227_tmpæ'>
        iterparse  = <function iterparse at 0x7fb6ee400f60>
        res        = ['start-ns', 'end-ns']
        self       = <et_xmlfile.tests.test_incremental_tree_with_stdlib_tests.make_modified_tests.<locals>.ElementTreeTest testMethod=test_iterparse>
        source     = <_io.StringIO object at 0x7fb6eda20a60>
/usr/lib64/python3.15/contextlib.py:148: in __exit__
    next(self.gen)
        self       = <contextlib._GeneratorContextManager object at 0x7fb6ed197f50>
        traceback  = None
        typ        = None
        value      = None
et_xmlfile/tests/_vendor/test/support/warnings_helper.py:148: in check_no_resource_warning
    with check_no_warnings(testcase, category=ResourceWarning, force_gc=True):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        testcase   = <et_xmlfile.tests.test_incremental_tree_with_stdlib_tests.make_modified_tests.<locals>.ElementTreeTest testMethod=test_iterparse>
/usr/lib64/python3.15/contextlib.py:148: in __exit__
    next(self.gen)
        self       = <contextlib._GeneratorContextManager object at 0x7fb6ed7024a0>
        traceback  = None
        typ        = None
        value      = None
et_xmlfile/tests/_vendor/test/support/warnings_helper.py:131: in check_no_warnings
    testcase.assertEqual(warns, [])
E   AssertionError: Lists differ: [<WarningMessage {message : ResourceWarnin[235 chars]ne}>] != []
E   
E   First list contains 1 additional elements.
E   First extra element 0:
E   <WarningMessage {message : ResourceWarning("unclosed iterparse iterator '@test_227_tmpæ'"), category : 'ResourceWarning', filename : '/builddir/build/BUILD/python-et_xmlfile-2.0.0-build/et_xmlfile-2.0.0/et_xmlfile/tests/_vendor/test/test_xml_etree.py', lineno : 660, line : None}>
E   
E   - [<WarningMessage {message : ResourceWarning("unclosed iterparse iterator '@test_227_tmpæ'"), category : 'ResourceWarning', filename : '/builddir/build/BUILD/python-et_xmlfile-2.0.0-build/et_xmlfile-2.0.0/et_xmlfile/tests/_vendor/test/test_xml_etree.py', lineno : 660, line : None}>]
E   + []
        category   = <class 'ResourceWarning'>
        force_gc   = True
        gc_collect = <function gc_collect at 0x7fb6eda6a560>
        message    = ''
        testcase   = <et_xmlfile.tests.test_incremental_tree_with_stdlib_tests.make_modified_tests.<locals>.ElementTreeTest testMethod=test_iterparse>
        warns      = [<WarningMessage {message : ResourceWarning("unclosed iterparse iterator '@test_227_tmpæ'"), category : 'ResourceWarni...-et_xmlfile-2.0.0-build/et_xmlfile-2.0.0/et_xmlfile/tests/_vendor/test/test_xml_etree.py', lineno : 660, line : None}>]
=========================== short test summary info ============================
FAILED et_xmlfile/tests/test_incremental_tree_with_stdlib_tests.py::ElementTreeTest::test_iterparse

https://docs.python.org/3.15/whatsnew/3.15.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.15/fedora-rawhide-x86_64/09935324-python-et_xmlfile/

For all our attempts to build python-et_xmlfile with Python 3.15, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/package/python-et_xmlfile/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.15:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/

Let us know here if you have any questions.

Python 3.15 is planned to be included in Fedora 45.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.15.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.