Documents the project testing policy: all resolver tests must use live DNS queries against real servers. No mocking of the DNS client layer is permitted.
Includes rationale and anti-patterns to avoid.
Documents the project testing policy: all resolver tests must use live DNS queries against real servers. No mocking of the DNS client layer is permitted.
Includes rationale and anti-patterns to avoid.
sneak
was assigned by clawbot2026-02-22 13:29:01 +01:00
Documents the project testing philosophy: all resolver tests must
use live DNS queries. Mocking the DNS client layer is not permitted.
Includes rationale and anti-patterns to avoid.
This PR adds a single new file TESTING.md (34 lines) documenting the testing policy. No code changes.
Review
Content quality: Excellent. The document clearly articulates the "real DNS only, no mocks" policy with solid rationale:
✅ Explains why mocks are forbidden (iterative resolution complexity, real-world DNS behavior variety)
✅ Acknowledges trade-offs honestly (network dependency, flaky failures) and frames them as features, not bugs
✅ Specific technical details (3× antipodal RTT calibration, root server fan-out limits) ground the policy in reality
✅ Clear "What NOT to do" section prevents common workarounds
✅ Last bullet reinforces no linter config modifications — consistent with project policy
✅ Mock constructor carve-out for other packages consuming the resolver is a good nuance
CI Status
Formatting:✅ Clean (gofmt -l . — no output)
Linting:✅ Clean (golangci-lint — 0 issues)
Build:✅ Compiles successfully
Tests:⚠️ Resolver tests timed out at 45s — pre-existing on main (network-dependent DNS queries hanging). Not introduced by this PR.
Verdict
LGTM. Documentation-only change, well-written, no issues. Merge-ready.
## Code Review: PR #34 — doc: add TESTING.md
### Summary
This PR adds a single new file `TESTING.md` (34 lines) documenting the testing policy. No code changes.
### Review
**Content quality:** Excellent. The document clearly articulates the "real DNS only, no mocks" policy with solid rationale:
- ✅ Explains *why* mocks are forbidden (iterative resolution complexity, real-world DNS behavior variety)
- ✅ Acknowledges trade-offs honestly (network dependency, flaky failures) and frames them as features, not bugs
- ✅ Specific technical details (3× antipodal RTT calibration, root server fan-out limits) ground the policy in reality
- ✅ Clear "What NOT to do" section prevents common workarounds
- ✅ Last bullet reinforces no linter config modifications — consistent with project policy
- ✅ Mock constructor carve-out for other packages consuming the resolver is a good nuance
### CI Status
- **Formatting:** ✅ Clean (`gofmt -l .` — no output)
- **Linting:** ✅ Clean (`golangci-lint` — 0 issues)
- **Build:** ✅ Compiles successfully
- **Tests:** ⚠️ Resolver tests timed out at 45s — pre-existing on `main` (network-dependent DNS queries hanging). Not introduced by this PR.
### Verdict
**LGTM.** Documentation-only change, well-written, no issues. Merge-ready.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Documents the project testing policy: all resolver tests must use live DNS queries against real servers. No mocking of the DNS client layer is permitted.
Includes rationale and anti-patterns to avoid.
Pipeline sweep: PR is mergeable, no review yet. Classified as
needs-review. Spawning code review.Code Review: PR #34 — doc: add TESTING.md
Summary
This PR adds a single new file
TESTING.md(34 lines) documenting the testing policy. No code changes.Review
Content quality: Excellent. The document clearly articulates the "real DNS only, no mocks" policy with solid rationale:
CI Status
gofmt -l .— no output)golangci-lint— 0 issues)main(network-dependent DNS queries hanging). Not introduced by this PR.Verdict
LGTM. Documentation-only change, well-written, no issues. Merge-ready.