-
-
Notifications
You must be signed in to change notification settings - Fork 343
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
Make type completeness results consistent for different platforms #2691
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #2691 +/- ##
=======================================
Coverage 98.84% 98.84%
=======================================
Files 113 113
Lines 16474 16474
Branches 3004 3004
=======================================
Hits 16283 16283
Misses 134 134
Partials 57 57 |
Maybe this might not work, there's still 4 symbols that don't match... |
Ooh, this is great. If you want to hunt down what's the cause of the difference you can [temporarily] print the ones with known type to the json and not just the ones with diagnostics, but I think we can just remove |
6ac92d1
to
677233b
Compare
The difference are these symbols:
... Which are caused by me using Python 3.11 not 3.8. |
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.
This looks good to me.
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.
Looks awesome, thanks for the fix.
If the type completeness test is run on Windows, the slightly different imports produce different counts, and also cause the JSON file to end up with symbols in different orders. This sorts the JSON file to prevent that from affecting diff results, and configures
pyright
to always behave like the platform is Linux. Perhaps it would be better to test both platforms and merge the results (so OS-specific code gets checked for missing types), but that would require a bigger change to the script.