[mobile] Skip failing Android localhost subdomain DNS tests#127742
[mobile] Skip failing Android localhost subdomain DNS tests#127742kotlarmilos merged 4 commits intomainfrom
Conversation
Skip System.Net.NameResolution tests that fail on Android due to localhost subdomain resolution returning link-local IPv6 addresses instead of loopback addresses. Adds ActiveIssue attribute for issue #124751 to: - DnsGetHostEntry_LocalhostSubdomain_ReturnsLoopback - DnsGetHostAddresses_LocalhostSubdomain_ReturnsLoopback Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1406427 Failed work item: System.Net.NameResolution.Functional.Tests Helix job: 6255e58e-bf4f-4c25-ba48-27c957d4ea3e Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Tagging subscribers to this area: @karelz, @dotnet/ncl |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
This PR updates System.Net.NameResolution functional tests to avoid consistent Android failures by skipping the localhost-subdomain loopback assertions on Android via ActiveIssue.
Changes:
- Skip
DnsGetHostEntry_LocalhostSubdomain_ReturnsLoopbackon Android with anActiveIssueattribute. - Skip
DnsGetHostAddresses_LocalhostSubdomain_ReturnsLoopbackon Android with anActiveIssueattribute.
Show a summary per file
| File | Description |
|---|---|
| src/libraries/System.Net.NameResolution/tests/FunctionalTests/GetHostEntryTest.cs | Adds an Android ActiveIssue skip for the localhost-subdomain loopback theory. |
| src/libraries/System.Net.NameResolution/tests/FunctionalTests/GetHostAddressesTest.cs | Adds an Android ActiveIssue skip for the localhost-subdomain loopback theory. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 2
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
🤖 Copilot Code Review — PR #127742Note This review was generated by GitHub Copilot. Holistic AssessmentMotivation: Justified. These two DNS tests ( Approach: Correct. Adding Summary: ✅ LGTM. The change is minimal, correctly scoped, and follows established conventions. The tracking issue (#126456) is already referenced by sibling tests in the same files, confirming it's the correct issue for this class of Android DNS failures. Detailed Findings✅ Correctness — Attribute usage is correctThe
✅ Consistency — Follows existing patternsThe issue reference and attribute pattern matches the established convention in these test files. The consolidated issue #126456 covers all localhost subdomain failures on mobile platforms, making it the appropriate tracking reference. ✅ Scope — Appropriately focusedOnly the two affected tests are skipped; no unrelated changes are included. The commit message includes the failing build link, work item, and Helix job for traceability. 💡 Observation — Related test uses different issueThe sibling test
|
Summary
Fixes failing
System.Net.NameResolutiontests on Android by addingActiveIssueattributes to skip tests that expect localhost subdomain resolution to return loopback addresses.Details
On Android, DNS resolution for
.localhostsubdomains (e.g.,foo.localhost,test.localhost) returns link-local IPv6 addresses (fe80::/10) instead of loopback addresses, causing test failures.Tests Fixed
DnsGetHostEntry_LocalhostSubdomain_ReturnsLoopbackDnsGetHostAddresses_LocalhostSubdomain_ReturnsLoopbackThese tests are now skipped on Android with reference to existing issue #124751, which already tracks the same underlying problem for the
RespectsAddressFamilyvariants of these tests.Build Information
Console Log Excerpt (sanitized)
The tests receive link-local IPv6 addresses instead of the expected loopback addresses (127.0.0.1 or ::1).
Root Cause
Android's DNS resolver behavior for RFC 6761 localhost subdomains differs from desktop platforms. When the OS resolver fallback tries to resolve plain "localhost" with or without an address family filter, Android may return the device's network interface addresses instead of loopback addresses.
Related Issue
Closes: #124751
Note
This content was generated by GitHub Copilot and may contain AI-generated content.
Note
🔒 Integrity filter blocked 2 items
The following items were blocked because they don't meet the GitHub integrity level.
search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter: