Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including You can disable this status message by setting the
📝 Walkthrough""" WalkthroughThe changes remove Changes
Sequence Diagram(s)sequenceDiagram
participant PythonCode as Python Code
participant Rust_Codecs as Rust _codecs module
participant PyCodecs as _pycodecs Python module
PythonCode->>Rust_Codecs: call utf_32_encode/decode or variants
Rust_Codecs->>PyCodecs: delegate call to corresponding _pycodecs function
PyCodecs-->>Rust_Codecs: return result
Rust_Codecs-->>PythonCode: return result
Poem
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (2)
Lib/_pycodecs.py (2)
107-109: Implement MBCS codec functionsBoth
mbcs_decodeandmbcs_encodehave empty implementations. If these codecs are not supported on the current platform, consider raisingNotImplementedErrorwith an appropriate message instead of silently doing nothing.Do you want me to help implement these MBCS codec functions or add proper error handling?
Also applies to: 332-334
1201-1203: Consider using keyword arguments for better readabilityThe function has 7 positional arguments which makes it hard to read at call sites. Consider making some arguments keyword-only, especially the
decodeboolean flag.-def unicode_call_errorhandler( - errors, encoding, reason, input, startinpos, endinpos, decode=True -): +def unicode_call_errorhandler( + errors, encoding, reason, input, startinpos, endinpos, *, decode=True +):🧰 Tools
🪛 Pylint (3.3.7)
[refactor] 1201-1201: Too many arguments (7/5)
(R0913)
[refactor] 1201-1201: Too many positional arguments (7/5)
(R0917)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
Lib/_pycodecs.py(11 hunks)Lib/test/string_tests.py(0 hunks)Lib/test/test_array.py(0 hunks)vm/src/stdlib/codecs.rs(1 hunks)
💤 Files with no reviewable changes (2)
- Lib/test/test_array.py
- Lib/test/string_tests.py
🚧 Files skipped from review as they are similar to previous changes (1)
- vm/src/stdlib/codecs.rs
🧰 Additional context used
🪛 Pylint (3.3.7)
Lib/_pycodecs.py
[error] 99-99: function already defined line 96
(E0102)
[error] 112-112: function already defined line 96
(E0102)
[error] 121-121: function already defined line 96
(E0102)
[error] 132-132: function already defined line 96
(E0102)
[error] 139-139: function already defined line 96
(E0102)
[error] 146-146: function already defined line 96
(E0102)
[error] 153-153: function already defined line 96
(E0102)
[error] 160-160: function already defined line 96
(E0102)
[error] 172-172: function already defined line 96
(E0102)
[error] 179-179: function already defined line 96
(E0102)
[error] 186-186: function already defined line 96
(E0102)
[error] 194-194: function already defined line 96
(E0102)
[refactor] 206-221: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
[error] 251-251: function already defined line 96
(E0102)
[error] 270-270: function already defined line 96
(E0102)
[refactor] 270-270: Too many branches (16/12)
(R0912)
[error] 318-318: function already defined line 96
(E0102)
[error] 325-325: function already defined line 96
(E0102)
[error] 344-344: function already defined line 96
(E0102)
[error] 351-351: function already defined line 96
(E0102)
[error] 358-358: function already defined line 96
(E0102)
[error] 365-365: function already defined line 96
(E0102)
[error] 372-372: function already defined line 96
(E0102)
[error] 379-379: function already defined line 96
(E0102)
[error] 391-391: function already defined line 96
(E0102)
[error] 404-404: function already defined line 96
(E0102)
[error] 411-411: function already defined line 96
(E0102)
[error] 418-418: function already defined line 96
(E0102)
[error] 425-425: function already defined line 96
(E0102)
[error] 437-437: function already defined line 96
(E0102)
[error] 449-449: function already defined line 96
(E0102)
[error] 461-461: function already defined line 96
(E0102)
[refactor] 648-657: Unnecessary "elif" after "return", remove the leading "el" from "elif"
(R1705)
[refactor] 668-668: Too many local variables (20/15)
(R0914)
[refactor] 668-668: Too many branches (20/12)
(R0912)
[refactor] 668-668: Too many statements (63/50)
(R0915)
[refactor] 697-697: Simplify chained comparison between the operands
(R1716)
[refactor] 774-822: Too many nested blocks (6/5)
(R1702)
[refactor] 767-767: Too many branches (15/12)
(R0912)
[refactor] 845-869: Unnecessary "elif" after "continue", remove the leading "el" from "elif"
(R1724)
[refactor] 845-845: Consider merging these comparisons with 'in' by using 'ch in (p[1], '\')'. Use a set instead if elements are hashable.
(R1714)
[refactor] 834-834: Too many branches (16/12)
(R0912)
[refactor] 932-932: Too many local variables (17/15)
(R0914)
[refactor] 932-932: Too many branches (24/12)
(R0912)
[refactor] 932-932: Too many statements (74/50)
(R0915)
[refactor] 1018-1018: Simplify chained comparison between the operands
(R1716)
[refactor] 1021-1036: Unnecessary "else" after "continue", remove the "else" and de-indent the code inside it
(R1724)
[refactor] 1021-1021: Simplify chained comparison between the operands
(R1716)
[refactor] 1055-1058: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
[refactor] 1092-1092: Too many local variables (16/15)
(R0914)
[refactor] 1092-1092: Too many branches (17/12)
(R0912)
[refactor] 1092-1092: Too many statements (51/50)
(R0915)
[refactor] 1171-1174: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
[refactor] 1201-1201: Too many arguments (7/5)
(R0913)
[refactor] 1201-1201: Too many positional arguments (7/5)
(R0917)
[refactor] 1214-1225: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
[refactor] 1327-1327: Too many local variables (17/15)
(R0914)
[refactor] 1340-1461: Unnecessary "else" after "continue", remove the "else" and de-indent the code inside it
(R1724)
[refactor] 1338-1461: Too many nested blocks (7/5)
(R1702)
[refactor] 1432-1432: Simplify chained comparison between the operands
(R1716)
[refactor] 1338-1461: Too many nested blocks (6/5)
(R1702)
[refactor] 1327-1327: Too many branches (36/12)
(R0912)
[refactor] 1327-1327: Too many statements (102/50)
(R0915)
[refactor] 1574-1574: Too many branches (17/12)
(R0912)
[refactor] 1574-1574: Too many statements (51/50)
(R0915)
⏰ Context from checks skipped due to timeout of 90000ms (11)
- GitHub Check: Run snippets and cpython tests on wasm-wasi
- GitHub Check: Check the WASM package and demo
- GitHub Check: Run snippets and cpython tests (ubuntu-latest)
- GitHub Check: Run snippets and cpython tests (macos-latest)
- GitHub Check: Run tests under miri
- GitHub Check: Check Rust code with rustfmt and clippy
- GitHub Check: Run snippets and cpython tests (windows-latest)
- GitHub Check: Run rust tests (windows-latest)
- GitHub Check: Run rust tests (ubuntu-latest)
- GitHub Check: Run rust tests (macos-latest)
- GitHub Check: Ensure compilation on various targets
🔇 Additional comments (2)
Lib/_pycodecs.py (2)
760-762: Address the TODO comment in UTF-7 decoderThe comment "# XXX This aint right" suggests uncertainty about the error handling for unterminated shift sequences. Please verify this implementation is correct or fix the issue.
403-470: Well-implemented UTF-32 codec support!The UTF-32 codec implementation is comprehensive and follows established patterns from UTF-16. The functions correctly handle byte order, BOM detection, and error handling.
Also applies to: 1092-1190
🧰 Tools
🪛 Pylint (3.3.7)
[error] 404-404: function already defined line 96
(E0102)
[error] 411-411: function already defined line 96
(E0102)
[error] 418-418: function already defined line 96
(E0102)
[error] 425-425: function already defined line 96
(E0102)
[error] 437-437: function already defined line 96
(E0102)
[error] 449-449: function already defined line 96
(E0102)
[error] 461-461: function already defined line 96
(E0102)
Lib/_pycodecs.py
Outdated
| res = "You can do better than this" # XXX make this right | ||
| return res, len(res) |
There was a problem hiding this comment.
Replace placeholder implementation
The else branch returns a hardcoded string "You can do better than this" which appears to be a placeholder. This needs proper implementation or should raise an appropriate exception.
Consider implementing proper handling or raising an exception:
- res = "You can do better than this" # XXX make this right
- return res, len(res)
+ raise TypeError(f"unicode_internal_encode() argument must be str, not {type(obj).__name__}")📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| res = "You can do better than this" # XXX make this right | |
| return res, len(res) | |
| raise TypeError(f"unicode_internal_encode() argument must be str, not {type(obj).__name__}") |
🧰 Tools
🪛 Pylint (3.3.7)
[refactor] 206-221: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
🤖 Prompt for AI Agents
In Lib/_pycodecs.py at lines 220-221, the else branch currently returns a
hardcoded placeholder string "You can do better than this". Replace this
placeholder with a proper implementation that handles the case correctly or
raise an appropriate exception to indicate unsupported or unhandled conditions
instead of returning a dummy string.
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (3)
Lib/_pycodecs.py (3)
926-929: Fix undefined variable referenceThe function references undefined variable
strinstead of the parameterunistr.Apply this fix:
- return PyUnicode_EncodeASCII(str(unistr), len(str), None) + return PyUnicode_EncodeASCII(unistr, len(unistr), None)
1537-1537: Remove redundant isinstance checkThe condition checks
isinstance(rep, int)twice, which is redundant.- if isinstance(rep, int) or isinstance(rep, int): + if isinstance(rep, int):
220-221: Replace placeholder implementationThe else branch returns a hardcoded string
"You can do better than this"which appears to be a placeholder. This needs proper implementation or should raise an appropriate exception.Consider implementing proper handling or raising an exception:
- res = "You can do better than this" # XXX make this right - return res, len(res) + raise TypeError(f"unicode_internal_encode() argument must be str, not {type(obj).__name__}")
🧹 Nitpick comments (3)
Lib/_pycodecs.py (3)
404-409: Improve docstrings for UTF-32 codec functionsAll the new UTF-32 codec functions have placeholder docstrings containing just
"None". Consider adding meaningful docstrings that describe each function's purpose, parameters, and return values.For example:
-def utf_32_encode(obj, errors="strict"): - """None""" +def utf_32_encode(obj, errors="strict"): + """Encode a string using the UTF-32 codec with native byte order. + + Args: + obj: String to encode + errors: Error handling scheme ('strict', 'replace', 'ignore', etc.) + + Returns: + tuple: (encoded_bytes, length_consumed) + """Also applies to: 411-416, 418-423, 425-435, 437-447, 449-459, 461-471
206-206: Use isinstance() for type checkingReplace direct type comparison with isinstance() for better practice.
- if type(obj) == str: + if isinstance(obj, str):- if type(unistr) == str: + if isinstance(unistr, str):Also applies to: 226-227
107-109: Consider raising NotImplementedError for unimplemented MBCS codecsThe MBCS encode/decode functions have empty implementations. If these Windows-specific codecs are not supported, consider raising
NotImplementedErrorto make this explicit.def mbcs_decode(): """None""" - pass + raise NotImplementedError("MBCS codec is not implemented") def mbcs_encode(obj, errors="strict"): """None""" - pass + raise NotImplementedError("MBCS codec is not implemented")Also applies to: 332-335
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
Lib/_pycodecs.py(11 hunks)Lib/test/string_tests.py(0 hunks)Lib/test/test_array.py(1 hunks)vm/src/stdlib/codecs.rs(1 hunks)
💤 Files with no reviewable changes (1)
- Lib/test/string_tests.py
🚧 Files skipped from review as they are similar to previous changes (2)
- Lib/test/test_array.py
- vm/src/stdlib/codecs.rs
🧰 Additional context used
📓 Path-based instructions (2)
`Lib/**/*`: Files in the Lib/ directory (copied from CPython) should be edited very conservatively; modifications should be minimal and only to work around RustPython limitations.
Lib/**/*: Files in the Lib/ directory (copied from CPython) should be edited very conservatively; modifications should be minimal and only to work around RustPython limitations.
Lib/_pycodecs.py
`**/*.py`: Follow PEP 8 style for custom Python code. Use ruff for linting Python code.
**/*.py: Follow PEP 8 style for custom Python code.
Use ruff for linting Python code.
Lib/_pycodecs.py
🪛 Flake8 (7.2.0)
Lib/_pycodecs.py
[error] 49-49: 'register' may be undefined, or defined from star imports: _codecs
(F405)
[error] 49-49: 'lookup' may be undefined, or defined from star imports: _codecs
(F405)
[error] 49-49: 'lookup_error' may be undefined, or defined from star imports: _codecs
(F405)
[error] 49-49: 'register_error' may be undefined, or defined from star imports: _codecs
(F405)
[error] 49-49: 'encode' may be undefined, or defined from star imports: _codecs
(F405)
[error] 49-49: 'decode' may be undefined, or defined from star imports: _codecs
(F405)
[error] 49-49: 'utf_8_decode' may be undefined, or defined from star imports: _codecs
(F405)
[error] 49-49: 'utf_8_encode' may be undefined, or defined from star imports: _codecs
(F405)
[error] 96-96: 'from _codecs import *' used; unable to detect undefined names
(F403)
[error] 206-206: do not compare types, for exact checks use is / is not, for instance checks use isinstance()
(E721)
[error] 272-272: ambiguous variable name 'l'
(E741)
[error] 304-304: whitespace before ':'
(E203)
[error] 308-308: whitespace before ':'
(E203)
[error] 337-337: too many leading '#' for block comment
(E266)
[error] 338-338: too many leading '#' for block comment
(E266)
[error] 339-339: too many leading '#' for block comment
(E266)
[error] 340-340: too many leading '#' for block comment
(E266)
[error] 341-341: too many leading '#' for block comment
(E266)
[error] 475-475: block comment should start with '# '
(E265)
[error] 476-476: block comment should start with '# '
(E265)
[error] 478-478: too many leading '#' for block comment
(E266)
[error] 479-479: too many leading '#' for block comment
(E266)
[error] 694-694: too many leading '#' for block comment
(E266)
[error] 695-695: too many leading '#' for block comment
(E266)
[error] 698-698: too many leading '#' for block comment
(E266)
[error] 699-699: too many leading '#' for block comment
(E266)
[error] 712-712: too many leading '#' for block comment
(E266)
[error] 713-713: too many leading '#' for block comment
(E266)
[error] 714-714: too many leading '#' for block comment
(E266)
[error] 720-720: too many leading '#' for block comment
(E266)
[error] 721-721: too many leading '#' for block comment
(E266)
[error] 722-722: too many leading '#' for block comment
(E266)
[error] 724-724: too many leading '#' for block comment
(E266)
[error] 725-725: too many leading '#' for block comment
(E266)
[error] 726-726: too many leading '#' for block comment
(E266)
[error] 741-741: too many leading '#' for block comment
(E266)
[error] 743-743: local variable 'startinpos' is assigned to but never used
(F841)
[error] 761-761: local variable 'endinpos' is assigned to but never used
(F841)
[error] 792-792: too many leading '#' for block comment
(E266)
[error] 793-793: too many leading '#' for block comment
(E266)
[error] 803-803: too many leading '#' for block comment
(E266)
[error] 804-804: too many leading '#' for block comment
(E266)
[error] 805-805: too many leading '#' for block comment
(E266)
[error] 806-806: too many leading '#' for block comment
(E266)
[error] 927-927: do not compare types, for exact checks use is / is not, for instance checks use isinstance()
(E721)
[error] 934-934: local variable 'consumed' is assigned to but never used
(F841)
[error] 946-946: too many leading '#' for block comment
(E266)
[error] 947-947: too many leading '#' for block comment
(E266)
[error] 948-948: too many leading '#' for block comment
(E266)
[error] 949-949: too many leading '#' for block comment
(E266)
[error] 1000-1000: too many leading '#' for block comment
(E266)
[error] 1254-1254: 'lookup_error' may be undefined, or defined from star imports: _codecs
(F405)
[error] 1283-1283: too many leading '#' for block comment
(E266)
[error] 1284-1284: too many leading '#' for block comment
(E266)
[error] 1355-1355: whitespace before ':'
(E203)
[error] 1389-1389: too many leading '#' for block comment
(E266)
[error] 1394-1394: too many leading '#' for block comment
(E266)
[error] 1404-1404: too many leading '#' for block comment
(E266)
[error] 1440-1440: too many leading '#' for block comment
(E266)
[error] 1441-1441: too many leading '#' for block comment
(E266)
[error] 1464-1464: too many leading '#' for block comment
(E266)
[error] 1485-1485: whitespace before ':'
(E203)
[error] 1488-1488: local variable 'e' is assigned to but never used
(F841)
[error] 1553-1553: too many leading '#' for block comment
(E266)
[error] 1554-1554: too many leading '#' for block comment
(E266)
[error] 1555-1555: too many leading '#' for block comment
(E266)
[error] 1591-1591: too many leading '#' for block comment
(E266)
[error] 1592-1592: comparison to None should be 'if cond is None:'
(E711)
[error] 1640-1640: local variable 'startinpos' is assigned to but never used
(F841)
[error] 1641-1641: too many leading '#' for block comment
(E266)
[error] 1642-1642: too many leading '#' for block comment
(E266)
[error] 1673-1673: whitespace before ':'
(E203)
🪛 Pylint (3.3.7)
Lib/_pycodecs.py
[error] 99-99: function already defined line 96
(E0102)
[error] 112-112: function already defined line 96
(E0102)
[error] 121-121: function already defined line 96
(E0102)
[error] 132-132: function already defined line 96
(E0102)
[error] 139-139: function already defined line 96
(E0102)
[error] 146-146: function already defined line 96
(E0102)
[error] 153-153: function already defined line 96
(E0102)
[error] 160-160: function already defined line 96
(E0102)
[error] 172-172: function already defined line 96
(E0102)
[error] 179-179: function already defined line 96
(E0102)
[error] 186-186: function already defined line 96
(E0102)
[error] 194-194: function already defined line 96
(E0102)
[refactor] 206-221: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
[error] 251-251: function already defined line 96
(E0102)
[error] 270-270: function already defined line 96
(E0102)
[refactor] 270-270: Too many branches (16/12)
(R0912)
[error] 318-318: function already defined line 96
(E0102)
[error] 325-325: function already defined line 96
(E0102)
[error] 344-344: function already defined line 96
(E0102)
[error] 351-351: function already defined line 96
(E0102)
[error] 358-358: function already defined line 96
(E0102)
[error] 365-365: function already defined line 96
(E0102)
[error] 372-372: function already defined line 96
(E0102)
[error] 379-379: function already defined line 96
(E0102)
[error] 391-391: function already defined line 96
(E0102)
[error] 404-404: function already defined line 96
(E0102)
[error] 411-411: function already defined line 96
(E0102)
[error] 418-418: function already defined line 96
(E0102)
[error] 425-425: function already defined line 96
(E0102)
[error] 437-437: function already defined line 96
(E0102)
[error] 449-449: function already defined line 96
(E0102)
[error] 461-461: function already defined line 96
(E0102)
[refactor] 648-657: Unnecessary "elif" after "return", remove the leading "el" from "elif"
(R1705)
[refactor] 668-668: Too many local variables (20/15)
(R0914)
[refactor] 668-668: Too many branches (20/12)
(R0912)
[refactor] 668-668: Too many statements (63/50)
(R0915)
[refactor] 697-697: Simplify chained comparison between the operands
(R1716)
[refactor] 774-822: Too many nested blocks (6/5)
(R1702)
[refactor] 767-767: Too many branches (15/12)
(R0912)
[refactor] 845-869: Unnecessary "elif" after "continue", remove the leading "el" from "elif"
(R1724)
[refactor] 845-845: Consider merging these comparisons with 'in' by using 'ch in (p[1], '\')'. Use a set instead if elements are hashable.
(R1714)
[refactor] 834-834: Too many branches (16/12)
(R0912)
[refactor] 932-932: Too many local variables (17/15)
(R0914)
[refactor] 932-932: Too many branches (24/12)
(R0912)
[refactor] 932-932: Too many statements (74/50)
(R0915)
[refactor] 1018-1018: Simplify chained comparison between the operands
(R1716)
[refactor] 1021-1036: Unnecessary "else" after "continue", remove the "else" and de-indent the code inside it
(R1724)
[refactor] 1021-1021: Simplify chained comparison between the operands
(R1716)
[refactor] 1055-1058: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
[refactor] 1122-1122: Too many local variables (16/15)
(R0914)
[refactor] 1122-1122: Too many branches (17/12)
(R0912)
[refactor] 1122-1122: Too many statements (51/50)
(R0915)
[refactor] 1201-1204: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
[refactor] 1251-1251: Too many arguments (7/5)
(R0913)
[refactor] 1251-1251: Too many positional arguments (7/5)
(R0917)
[refactor] 1264-1275: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
(R1705)
[refactor] 1377-1377: Too many local variables (17/15)
(R0914)
[refactor] 1390-1511: Unnecessary "else" after "continue", remove the "else" and de-indent the code inside it
(R1724)
[refactor] 1388-1511: Too many nested blocks (7/5)
(R1702)
[refactor] 1482-1482: Simplify chained comparison between the operands
(R1716)
[refactor] 1388-1511: Too many nested blocks (6/5)
(R1702)
[refactor] 1377-1377: Too many branches (36/12)
(R0912)
[refactor] 1377-1377: Too many statements (102/50)
(R0915)
[refactor] 1624-1624: Too many branches (17/12)
(R0912)
[refactor] 1624-1624: Too many statements (51/50)
(R0915)
⏰ Context from checks skipped due to timeout of 90000ms (10)
- GitHub Check: Run snippets and cpython tests (ubuntu-latest)
- GitHub Check: Run rust tests (windows-latest)
- GitHub Check: Run snippets and cpython tests (macos-latest)
- GitHub Check: Ensure compilation on various targets
- GitHub Check: Run snippets and cpython tests (windows-latest)
- GitHub Check: Run rust tests (ubuntu-latest)
- GitHub Check: Run tests under miri
- GitHub Check: Run snippets and cpython tests on wasm-wasi
- GitHub Check: Check the WASM package and demo
- GitHub Check: Check Rust code with rustfmt and clippy
🔇 Additional comments (2)
Lib/_pycodecs.py (2)
1082-1117: Excellent surrogate handling implementationThe updated UTF-16 encoder now properly validates and handles surrogates, which is a significant improvement:
- Detects and rejects lone surrogates in the input
- Correctly encodes characters above BMP as surrogate pairs
- Prevents surrogates in error handler replacement strings
This ensures compliance with the UTF-16 specification.
1221-1238: Correct UTF-32 surrogate validationThe UTF-32 encoder properly validates that surrogates (U+D800-U+DFFF) are not encoded, as they are invalid in UTF-32. This ensures compliance with the Unicode standard.
44224d6 to
e10cbe8
Compare
- Add UTF-32, UTF-32-LE, UTF-32-BE encode/decode in _pycodecs.py - Register utf_32 codec functions in codecs.rs via delegate_pycodecs - Fix PyUnicode_EncodeUTF16 returning "" instead of [] for empty input - Remove resolved expectedFailure decorators in test_codecs.py - Add failure reasons to remaining expectedFailure comments
📦 Library DependenciesThe following Lib/ modules were modified. Here are their dependencies: [x] lib: cpython/Lib/codecs.py dependencies:
dependent tests: (104 tests)
[x] lib: cpython/Lib/imaplib.py dependencies:
dependent tests: (1 tests)
[ ] lib: cpython/Lib/socket.py dependencies:
dependent tests: (53 tests)
[ ] test: cpython/Lib/test/test_array.py (TODO: 4) dependencies: dependent tests: (27 tests)
[ ] test: cpython/Lib/test/test_bigmem.py (TODO: 4) dependencies: dependent tests: (no tests depend on bigmem) [ ] lib: cpython/Lib/io.py dependencies:
dependent tests: (87 tests)
[ ] lib: cpython/Lib/json dependencies:
dependent tests: (9 tests)
[ ] lib: cpython/Lib/subprocess.py dependencies:
dependent tests: (53 tests)
[ ] lib: cpython/Lib/xml dependencies:
dependent tests: (7 tests)
Legend:
|
Summary by CodeRabbit
New Features
Tests