Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Python libraries and tests from CPython 3.12 #5104

Open
youknowone opened this issue Oct 23, 2023 · 3 comments
Open

Update Python libraries and tests from CPython 3.12 #5104

youknowone opened this issue Oct 23, 2023 · 3 comments
Labels
A-stdlib C-compat A discrepancy between RustPython and CPython C-enhancement New feature or request good first issue Good for newcomers

Comments

@youknowone
Copy link
Member

youknowone commented Oct 23, 2023

Though it will be sometimes blocked by rust side issues, don't worry!
Please just create PR about the broken test and and create issues related to the new bugs.

If you are new to updating cpython libraries, this guide will be useful:
https://github.com/RustPython/RustPython/wiki/How-to-update-test-files

When updating module Lib/X, please don't forget to also update Lib/test/test_X

A few libraries doesn't need to be updated because CPython also kept it same as previous version. In that case, please leave a comment to let us mark it as done. Thank you!

Tips

  • To get specific version of CPython source code, e.g. try git checkout v3.12.0 from CPython repository.
  • Please check Update libraries and tests from CPython 3.10.6 #4064 for example. Not the entire changes but the each commits. One of the middle size example is 17e12de . Sometimes it can be really simple like 9571a68
  • Please create one PR for one library+test pair whenever possible. Once you stuck by dependencies, go to one of the dependency first and finish it before restarting the stuck one unless they become simpler to be updated at the same time. Normally adding more libraries make passing tests (a lot) harder.
  • To run tests, try cargo run --features ssl -- -m test -v <test_name>. e.g. If you changed test_unicode.py, cargo run --features ssl -- -m test -v test_unicode
    • If it runs too slow, try to add --release like cargo run --release --features ssl -- -m test -v test_unicode

List of libraries

List of tests without python libraries

Not yet added libraries

These libraris are not added yet. Pure python one will be possible while others are not.

@Blues-star
Copy link
Contributor

Blues-star commented Feb 19, 2024

chunk.py doesn't need to be updated

@Eclips4
Copy link
Contributor

Eclips4 commented Mar 8, 2024

Modules:

  • heapq.py doesn't need to be updated
  • hmac.py doesn't need to be updated

Tests:

@Eclips4
Copy link
Contributor

Eclips4 commented Mar 13, 2024

cgi.py doesn't need to be updated
test_cgi.py also doesn't need to be updated
Same for cmd.py and test_cmd.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-stdlib C-compat A discrepancy between RustPython and CPython C-enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants