-
-
Notifications
You must be signed in to change notification settings - Fork 33.8k
Add test fixture ignore_translations_for_mock_domains #139235
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
Conversation
I think the PR description is not completely accurate since also real integrations can be affected if a mock integration loads the cache with bad data and nothing is done about that after the test of the mock integration is done. |
Tests failing because a race in the loader was uncovered by the changes, fix in PR #139270 |
Yes, you're right, I think 👍 |
This comment was marked as outdated.
This comment was marked as outdated.
Yes, with that action we're addressing that problem. |
Proposed change
Add test fixture
ignore_translations_for_mock_domains
which should be used when ignoring missing translation keys for integrations which doesn't exist.Also, rename the existing fixture
ignore_translations
toignore_missing_translations
and fail tests if it's used for an integration which exists.Rationale:
When validating translations, the translation cache is populated. This is not a problem for real integrations, but for mocked integrations this means tests may interfere with each other if they test behavior related to translations.
When validating translations, we will not load translations for integrations added to
ignore_translations_for_mock_domains
to prevent this.This fixes flaky test
tests/test_test_fixtures.py::test_evict_faked_translations
Type of change
Additional information
Checklist
ruff format homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
.To help with the load of incoming pull requests: