Skip to content

Make the SRV test fixture reset dns package attributes - #73659

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-srv-test-dns-fixture
Sep 24, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
potiuk:fix-srv-test-dns-fixture

Conversation

@potiuk

@potiuk potiuk commented Sep 24, 2026

Copy link
Copy Markdown
Member

stable_dns_import was meant to stop the SRV tests hitting real DNS when
another test's patch.dict(sys.modules, ...) leaves the dns package
attribute and sys.modules["dns.resolver"] pointing at different module
objects. It only re-imported the submodules, which is a no-op when they
are already in sys.modules, so the mismatch survived. On Python 3.11+
mock.patch("dns.resolver.resolve") patches the sys.modules copy while
the hook's import dns.resolver reads the package attribute, so
test_resolve_srv_targets_orders_by_priority made a real SRV query and
failed. The fixture now points dns.exception, dns.resolver and
dns.asyncresolver on the package at the modules in sys.modules.

🤖 Generated with Claude Code

stable_dns_import was meant to stop the SRV tests hitting real DNS when
another test's patch.dict(sys.modules, ...) leaves the dns package
attribute and sys.modules["dns.resolver"] pointing at different module
objects. It only re-imported the submodules, which is a no-op when they
are already in sys.modules, so the mismatch survived. On Python 3.11+
mock.patch("dns.resolver.resolve") patches the sys.modules copy while
the hook's `import dns.resolver` reads the package attribute, so
test_resolve_srv_targets_orders_by_priority made a real SRV query and
failed. The fixture now points dns.exception, dns.resolver and
dns.asyncresolver on the package at the modules in sys.modules.

Generated-by: Claude Opus 5
@potiuk
potiuk merged commit 654c5e1 into apache:main Sep 24, 2026
79 of 80 checks passed
@potiuk
potiuk deleted the fix-srv-test-dns-fixture branch September 24, 2026 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants