-
Notifications
You must be signed in to change notification settings - Fork 313
Adding in NoMissingUnitTest linter rule #5294
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
base: main
Are you sure you want to change the base?
Conversation
8441fa1 to
81aed85
Compare
|
@VaggelisD @georgesittas - alright, took my first swing at it if either of you want to take a look.
I did surface Let me know if you want me to change anything! |
2b486bc to
0c27875
Compare
georgesittas
left a comment
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.
Btw, let's make sure that we track calls to load_model_tests and refactor as needed. For example, in magics.py, I think we should be able to skip that call since we already have the loaded context which contains all tests. Another example is in lsp/context.py.
sqlmesh/core/context.py
Outdated
| filtered_tests.extend( | ||
| [t for t in test_meta if t.path == test_path and t.test_name == test_name] | ||
| ) | ||
| else: | ||
| test_path = Path(test) | ||
| filtered_tests.extend([t for t in test_meta if t.path == test_path]) |
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 iterations over test_meta look costly. Can we store a mapping test_name -> test_meta instead of keeping everything in a list and having to walk it every time?
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.
Just pushed, I added in two dictionaries, one for the fully qualified names and another for the Paths so they're just lookups. Calculated once in the context.
|
Thanks for addressing the comments @cmgoffena13. I'll take another look soon. |
I'm having trouble fleshing out the test due to the path having to point to the example project. Since I have to trigger the pytest from the root it is trying to find the /tests directory in the root rather than the example project root. Any help on resolving the path issue would be appreciated so I can finish the test. (EDIT: Figured out how to switch the contexts, let me know if there's anything that needs adjustment!)