-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Update collections from Python 3.11.2 #4876
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
Conversation
Checked this implementation against the old one and it makes the test pass without causing any other ones to fail |
Thanks! Do you mind updating all the files in We can always merge and update the others later but this way we get two birds with one stone. |
As far as I can tell there's nothing to be changed in either |
Copying Note: One of these is a So, I think the best approach now is to include those changes from Thanks again for opening, feel free to ask if anything gets confusing. |
Made the suggested changes. Thanks for all the help :) Didn't realise so much of the ethos of this project is about staying in line with the CPython implementations (which of course reflecting on it makes total sense)! |
Just checking the tests now and it seems like actually these changes fix another test that was failing!
If we're happy that this test should be passing then I'll go ahead and take away the decorator :) |
I'm going to guess it most likely isn't happy with 8e55919 which seems kinda odd considering your output. Since the runner's thirst for success must be appeased we should rollback that commit and give it a second try to make sure. |
I think that's done? Still working on my git-fu |
Had a dig through the CI logs and it seems like the following tests are failing in a number of test classes:
I can't seem to replicate the errors with |
Okay, failures do make sense, they all are a result of the new You can now mark these as expected failures and I should probably see what is the deal with |
Before I add those decorators, would it be worth removing all of the decorators and rerunning the workflows just so everything's fully up to date and we can see which tests are going through according to the CI? Also seems like an issue with |
Don't think they are executed on Mac. These are platform independent (don't really test any platform specific things) so having them executed only on Ubuntu (fastest runner) is a solution to cut down on unnecessary execution time. |
Fair enough - makes sense. Still not sure why this test passes on my laptop though.
Opinions on this idea? Probably worth making sure that we know which tests are now passing and/or failing? |
It would be a good idea to remove RustPython-specific |
I believe you can use the following command to test your changes locally: # 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 |
Ahhhh thank you for this! Just updated the decorators so now all the tests should pass the CI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These @unittest.expectedFailure
decorators aren't in the CPython source, so we should mark them as RustPython-specific.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found collections/__init__
and test_ordered_dict
is not fully updated without comments.
Attaching a commit to resolve them.
I am sorry, I was watching wrong version of CPython
Added extra `unittest.expectedFailure` decorators
re-run of ci won't fly well with the recent windows ci changes it seems @Phosphorescentt can you rebase? |
Thank you! |
Also added an extra couple of lines to the test just to make sure everyting's working as intended.
Let me know if this looks good or if any changes are needed :)