Repository navigation
Further tweaking whats_left: allow differing implementation - #2764
Merged
youknowone merged 1 commit intoJul 29, 2021
Merged
Conversation
youknowone
approved these changes
Jul 29, 2021
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.
In #2760 I introduced a regression. Sometimes RustPython will have an object defined in a different module from the one CPython defines it in. This is probably fine (implementations can be different) as long as the code is working (which this script doesn't test anyway).
For example, CPython's
posixmodule defines its ownchdir,cpu_count, etc. In RustPython the implementations are coming fromos.py(maybe actually inos.rs?). Or for instance, CPythonsys.stderrhas no module defined (getmodulereturnsNone) but RustPython will return_io. In these cases I think we'd want to count those as implemented, even though the code location is different.So, this just adds an option
keep_otherto the scanning code. When in CPython, the script only keeps members from the module itself (as well as those that are undefined), to reduce redundancy in the output. But in the RustPython code it will consider anything, in case implementations are coming from other modules.This takes another 177 lines off the output 😁