docs: TESTING.md constraints match the resolver and the test-time policy (closes #289)
check / check (push) Canceled after 0s
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:
+7
-5
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user