gh-149640: Add additional tests for Lazy Imports#149739
Draft
brittanyrey wants to merge 2 commits into
Draft
Conversation
28ae182 to
15f157e
Compare
Port missing test coverage from the internal lazy imports test suite, covering behaviors not previously tested in cpython: - Dict operations with lazy values (copy, |, update preserve proxies) - Submodule laziness (unaccessed imports stay lazy until touched) - Attribute side effects (submodule imports don't overwrite parent attrs) - Module/variable name collisions (submodule vs variable ordering) - Deleted module reimport (sys.modules deletion and reimport) - Circular import resolution (lazy imports breaking circular deadlocks) - Dict mutation during module loading (no crash on dict resize) Adds supporting test data modules: metasyntactic package hierarchy, versioned package, module_same_name_var_order packages, and circular_import_pkg.
15f157e to
4f945a4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
We had a lot of Lazy Import tests in the Cinder/MetaPython Lazy Imports test suite that should also be useful for Cpython. Porting some tests over to increase coverage--especially around
lazy_imports=all.Adds supporting test data modules.
#149640
-X lazy_imports=allmore? #149640