Document the no-DNS-mocking policy in the README #94

Closed
opened 2026-08-07 18:25:13 +02:00 by clawbot · 0 comments
Collaborator

Project policy (per sneak, 2026-08-07): DNS is never mocked in dnswatcher. No mock resolvers, no fake DNS servers, no stubbed lookups — not in tests, not anywhere. The entire purpose of dnswatcher is correct behavior against the real DNS, so tests exercise real resolution against live nameservers. Flaky live tests are a robustness problem to be fixed with robustness (retries, multiple nameservers, timeouts) or explicit opt-in gating decided by the owner — never with mocks.

This policy is not currently written down anywhere in the repo, so workers and contributors keep proposing mocked/hermetic DNS tests.

Definition of done

  1. README.md has a prominent, unmissable section near the top with its own heading (e.g. "## No DNS mocking. Ever.") stating:
    • DNS is never mocked in this project — not in tests, not anywhere else.
    • Tests run against the real DNS by design.
    • Flaky tests get fixed with robustness (retries, multiple nameservers, timeouts) or explicit opt-in gating decided by the owner — never with mocks.
    • Contributions proposing DNS mocks will be rejected.
  2. The section matches the README's existing tone and formatting, and the markdown is formatted with make fmt.
  3. make check is green.
  4. Lands via PR; the PR title ends with (closes #N) referencing this issue.
Project policy (per sneak, 2026-08-07): **DNS is never mocked in dnswatcher.** No mock resolvers, no fake DNS servers, no stubbed lookups — not in tests, not anywhere. The entire purpose of dnswatcher is correct behavior against the real DNS, so tests exercise real resolution against live nameservers. Flaky live tests are a robustness problem to be fixed with robustness (retries, multiple nameservers, timeouts) or explicit opt-in gating decided by the owner — never with mocks. This policy is not currently written down anywhere in the repo, so workers and contributors keep proposing mocked/hermetic DNS tests. ## Definition of done 1. `README.md` has a prominent, unmissable section near the top with its own heading (e.g. "## No DNS mocking. Ever.") stating: - DNS is never mocked in this project — not in tests, not anywhere else. - Tests run against the real DNS by design. - Flaky tests get fixed with robustness (retries, multiple nameservers, timeouts) or explicit opt-in gating decided by the owner — never with mocks. - Contributions proposing DNS mocks will be rejected. 2. The section matches the README's existing tone and formatting, and the markdown is formatted with `make fmt`. 3. `make check` is green. 4. Lands via PR; the PR title ends with ` (closes #N)` referencing this issue.
sneak closed this issue 2026-08-07 22:31:48 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/dnswatcher#94