gh-75572: Forward-port test_xpickle from Python 2 to 3. #22452
+355
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://bugs.python.org/issue31391
Apart from porting test_xpickle, a resource was also added in libregrtest's command line options (as this was originally available in Py2 but removed in Py3, and the test takes considerably long).
I have tested the code against Windows 10 and Ubuntu 20.04. It is also compatible with the py launcher in Windows (PEP 397). In total, it takes around 14 minutes to run the entire test on Ubuntu 20.04, which isn't all that surprising considering the Py2 tests took a few minutes to run, and pickletester has added many more test functions since then.
Compatible versions to bounce pickles from are Python 3.6 - 3.9. Supporting Python 3.5 wasn't feasible since the pickletester library has to be imported, and it has generous use of f-strings.
This is my first time contributing to CPython, and I'd really like feedback on how I can improve this PR, thanks!
https://bugs.python.org/issue31391