Skip to content

Update python libraries and tests from CPython 3.11 #4564

Closed

Description

@youknowone

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, try git checkout v3.11.2 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.

Activity

  1. changed the title [-]Update python libraries from CPython 3.11[/-] [+]Update python libraries and tests from CPython 3.11[/+] on Feb 25, 2023
  2. pinned this issue on Feb 25, 2023
  3. fanninpm commented on Feb 25, 2023

    @fanninpm
  4. DimitrisJim commented on Feb 28, 2023

    @DimitrisJim
    Member

    Pasting the comment (#4592 (review)) here too for anyone else who might need it:

    You can use the following command to test your changes locally (in a manner similar to RustPython's CI):

    # this runs all of the tests (not necessary if you know which test is affected)
    cargo run --release --features ssl,jit -- -m test -j 1 -u all --slowest --fail-env-changed -v
    # this runs only the test suite named "test_whatever" (usually located at `Lib/test/test_whatever.py`)
    cargo run --release --features ssl,jit -- -m test -j 1 -u all --slowest --fail-env-changed -v test_whatever

    For a list of all resources and more command-line options, you can execute cargo run --release --features ssl,jit -- -m test -h

  5. dalinaum commented on Mar 4, 2023

    @dalinaum
  6. dalinaum commented on Mar 4, 2023

    @dalinaum
  7. dalinaum commented on Mar 7, 2023

    @dalinaum
  8. dalinaum commented on Mar 7, 2023

    @dalinaum
  9. dalinaum commented on Mar 9, 2023

    @dalinaum
  10. tdub0 commented on Mar 17, 2023

    @tdub0
  11. dalinaum commented on Mar 23, 2023

    @dalinaum
  12. JaeyoungAhn commented on Mar 25, 2023

    @JaeyoungAhn
  13. Snowapril commented on Mar 25, 2023

    @Snowapril
  14. jyj0816 commented on Mar 25, 2023

    @jyj0816
  15. Masorubka1 commented on Apr 2, 2023

    @Masorubka1
  16. Masorubka1 commented on Apr 4, 2023

    @Masorubka1
  17. MegasKomnenos commented on Apr 8, 2023

    @MegasKomnenos
  18. added a commit that references this issue on Oct 3, 2023
  19. youknowone commented on Oct 23, 2023

    @youknowone
    MemberAuthor

    Thanks to everyone who participated in this series of patches! I am going to close this issue in favor of #5104

  20. unpinned this issue on Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions