-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
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
Load dependencies from manifests. Fallback to current DEPENDENCIES
.
#22716
Conversation
DEPENDENCIES
.
Difficult to see MQTT tests because Circle doesn't make it past the static check. |
Sorry about that. Didn't realize mypy was unhappy. We should make it past that part now. |
For example, |
Opened an arch issue to find the solution home-assistant/architecture#187 |
There is another manifest issue. When we do the great migration, we create an empty |
Now, I expected most test been fixed. automation.webhook will still fail due the manifest issue. The majority issues I fixed in the tests are timing issue. Component and platform setup are separated tasks. Those tests got passed before, but start failing after manifest change. My theory is their platform setup pretty quick in before, but became slow now as we have to do disk I/O to read |
2043316
to
ece8971
Compare
So we basically got lucky before? Had any of those platforms introduced anything that did I/O, we would have started seeing tests fail then too, right? |
We don't have so much disk I/O before, and most network I/O has been mocked in test. So there is another performance concern. We have 5000+ tests, that means at least 5000 more file I/O introduced in our tests. Let's see the result |
What's the alternative? I don't think it's reasonable to mock out the manifest loads. |
Still 50+ failures and they are new. It seems that previous test run didn't executed all tests at all. |
Yeah, we should load them. |
I will continue on with this tonight. Thanks for moving it along @awarecan! |
I managed to resolve another 10 failures. There's still one more that I haven't figured out: https://circleci.com/gh/home-assistant/home-assistant/5524#tests/containers/0 Annoyingly I'm unable to fail that one test on my local machine. Help is always welcome :) |
This is getting more interesting, I've been able to reproduce this test failure, but only when running the entire test suite. If I just run the module or the specific test it passes, making it particularly hard to debug. As far as I can tell, it seems like a test in a different class is causing this one to break. I'm curious now, if it's possible to get the requirements loaded from the manifest first (without all of this test case difficulties). That way we could unblock #22717 and possibly merge that one first and then figure this out. Okay, confirmed my theory, this single test is still broken when just requirements are read from the manifest, not only for dependencies. We'll need to get this test fixed before either can move forward. |
fb39d00
to
88f58fe
Compare
The test fixes from this PR have been cherry-picked into dev. Please rebase. |
88f58fe
to
f915c39
Compare
Rebased and pushed up. |
f3e507d
to
94fae3f
Compare
Codecov Report
@@ Coverage Diff @@
## dev #22716 +/- ##
==========================================
- Coverage 93.85% 93.83% -0.02%
==========================================
Files 449 449
Lines 36752 36756 +4
==========================================
- Hits 34492 34490 -2
- Misses 2260 2266 +6
Continue to review full report at Codecov.
|
I have merged this PR into #22717 |
This was merged into #22717 |
Description:
Load dependencies from manifests (if present). If not, fallback to the current approach of reading
DEPENDENCIES
from the module attribute.Related issue (if applicable): relates to #22700
Checklist:
tox
. Your PR cannot be merged unless tests passIf the code does not interact with devices: