docs: TESTING.md constraints match the resolver and the test-time policy (closes #289)
check / check (push) Canceled after 0s

The Constraints list named a query timeout calibrated to round-trip time and a
limited root-server fan-out; the resolver has neither. It now gives the
2-second timeout and the second try over UDP, says a zone's servers are asked
one at a time in a random order, and gives the 60-second cap and 20-second
target for make test from REPO_POLICIES.md.

Model: opus-5-5
This commit is contained in:
2026-10-15 11:27:11 +00:00
parent b79726acc6
commit 2912c0dd0d
2 changed files with 11 additions and 5 deletions
+7 -5
View File
@@ -19,11 +19,13 @@ works correctly in production.
### Constraints ### Constraints
- Tests hit real DNS infrastructure and require network access - Tests hit real DNS infrastructure and require network access
- Test duration depends on network conditions; timeout tuning keeps the suite - Test duration depends on network conditions. `make test` must finish in under
within the 60-second target 60 seconds, the hard cap in `REPO_POLICIES.md`; under 20 seconds is the target
- Query timeout is calibrated to 3× maximum antipodal RTT (~300ms) plus - Each query to a nameserver has a 2-second timeout, and a query over UDP that
processing margin gets no reply is sent once more (`queryTimeoutDuration` and `maxRetries` in
- Root server fan-out is limited to reduce parallel query load `internal/resolver/iterative.go`)
- In the walk to a name's nameservers, the servers of each zone are asked one at
a time in a random order, as the README's DNS Resolution Strategy describes
- Live lookups that expect an answer go through `internal/livednstest`, which - Live lookups that expect an answer go through `internal/livednstest`, which
limits how many run at once in a test binary and retries a lookup that got limits how many run at once in a test binary and retries a lookup that got
none none
+4
View File
@@ -19,6 +19,10 @@ milestone: https://git.eeqj.de/sneak/dnswatcher/milestone/7
# Completed Steps # Completed Steps
- 2026-10-15: `TESTING.md` Constraints give the resolver's 2-second query
timeout and second try, say a zone's servers are asked one at a time in a
random order, and give the 60-second cap and 20-second target for `make test`
(closes #289).
- 2026-10-13: a hostname or a domain whose zone's nameservers all stop answering - 2026-10-13: a hostname or a domain whose zone's nameservers all stop answering
gets an NS Failure for each, then an NS Recovery (closes #284). gets an NS Failure for each, then an NS Recovery (closes #284).
- 2026-10-13: an IPv6 address is written in brackets before its port, as in - 2026-10-13: an IPv6 address is written in brackets before its port, as in