Skip to content

Update xml to 3.14.6 - #8101

Merged
youknowone merged 4 commits into
RustPython:mainfrom
ShaharNaveh:update-xml
Jun 15, 2026
Merged

Update xml to 3.14.6#8101
youknowone merged 4 commits into
RustPython:mainfrom
ShaharNaveh:update-xml

Conversation

@ShaharNaveh

@ShaharNaveh ShaharNaveh commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Summary

ref: #8083

@coderabbitai

coderabbitai Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (5)
  • Lib/test/test_pyexpat.py is excluded by !Lib/**
  • Lib/test/test_xml_etree.py is excluded by !Lib/**
  • Lib/test/test_xmlrpc.py is excluded by !Lib/**
  • Lib/xml/etree/ElementTree.py is excluded by !Lib/**
  • Lib/xmlrpc/client.py is excluded by !Lib/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 6fcfcd6a-9835-4af0-bd83-0d46ed7a04d8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Library Dependencies

The following Lib/ modules were modified. Here are their dependencies:

[x] lib: cpython/Lib/xml
[x] test: cpython/Lib/test/test_xml_etree.py (TODO: 61)
[x] test: cpython/Lib/test/test_xml_etree_c.py
[x] test: cpython/Lib/test/test_minidom.py (TODO: 25)
[x] test: cpython/Lib/test/test_pulldom.py (TODO: 4)
[ ] test: cpython/Lib/test/test_pyexpat.py (TODO: 50)
[x] test: cpython/Lib/test/test_sax.py (TODO: 39)
[x] test: cpython/Lib/test/test_xml_dom_minicompat.py
[x] test: cpython/Lib/test/test_xml_dom_xmlbuilder.py

dependencies:

  • xml

dependent tests: (34 tests)

  • xml: test_doctest test_minidom test_pulldom test_pydoc test_pyexpat test_regrtest test_sax test_typing test_xml_dom_minicompat test_xml_dom_xmlbuilder test_xml_etree
    • plistlib: test_plistlib
      • platform: test__locale test__osx_support test_asyncio test_baseexception test_builtin test_cmath test_ctypes test_fcntl test_math test_mimetypes test_os test_platform test_posix test_shutil test_socket test_ssl test_strptime test_sysconfig test_time test_winreg test_wsgiref
    • xmlrpc.client: test_xmlrpc

[x] lib: cpython/Lib/xmlrpc
[x] test: cpython/Lib/test/test_xmlrpc.py (TODO: 5)
[x] test: cpython/Lib/test/test_docxmlrpc.py

dependencies:

  • xmlrpc

dependent tests: (4 tests)

  • xmlrpc: test_docxmlrpc test_xmlrpc
    • multiprocessing.connection:
      • concurrent.futures.process: test_compileall test_concurrent_futures

[x] test: cpython/Lib/test/test_str.py (TODO: 7)
[x] test: cpython/Lib/test/test_fstring.py (TODO: 19)
[x] test: cpython/Lib/test/test_string_literals.py (TODO: 4)

dependencies:

dependent tests: (no tests depend on str)

[ ] test: cpython/Lib/test/test_unicodedata.py (TODO: 22)
[x] test: cpython/Lib/test/test_unicode_file.py
[x] test: cpython/Lib/test/test_unicode_file_functions.py
[x] test: cpython/Lib/test/test_unicode_identifiers.py (TODO: 1)
[x] test: cpython/Lib/test/test_ucn.py (TODO: 4)

dependencies:

dependent tests: (no tests depend on unicode)

Legend:

  • [+] path exists in CPython
  • [x] up-to-date, [ ] outdated

@ShaharNaveh
ShaharNaveh marked this pull request as ready for review June 14, 2026 10:03
@fanninpm

fanninpm commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

The regressed tests in Lib/test/test_pyexpat.py will likely need to be fixed in crates/stdlib/src/pyexpat.rs.


New regressions in Lib/test/test_pyexpat.py:

  • class ParseTest:
    • test_parse_bytes()
    • test_parse_str()
    • test_parse_file()
    • test_parse_again() [N.B. this already exists on the list
    • test_supported_encodings()
    • test_supported_encodings2()
    • test_unsupported_encodings() AssertionError: ValueError not raised
    • test_incompatible_encodings() AssertionError: ExpatError not raised
    • test_non_text_encodings() AssertionError: LookupError not raised
    • test_undefined_encoding() AssertionError: UnicodeError not raised
    • test_unknown_encoding() AssertionError: LookupError not raised
  • class ExpansionProtectionTest: [N.B. this gets appended at the end of the current list]
    • test_set_activation_threshold__threshold_reached() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_activation_threshold__threshold_not_reached() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_maximum_amplification__amplification_exceeded() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_maximum_amplification__amplification_not_exceeded() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_activation_threshold__fail_for_subparser() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_activation_threshold__invalid_threshold_type() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_maximum_amplification__fail_for_subparser() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_maximum_amplification__infinity() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_maximum_amplification__invalid_max_factor_range() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'
    • test_set_maximum_amplification__invalid_max_factor_type() AttributeError: 'xmlparser' object has no attribute 'SetBillionLaughsAttackProtectionMaximumAmplification'

@youknowone
youknowone merged commit eccbc5e into RustPython:main Jun 15, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants