dnsimple/dnstest
58.4
Adequate · 2 October 2026
4.5k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is a DNS server implementation written in Erlang, focused on protocol compliance and testing. It manages DNS zone data and supports advanced features such as DNSSEC and ALIAS records. The codebase includes a dedicated test suite that validates behavior against RFC standards, specifically covering empty non-terminal nodes and wildcard resolution logic.
Features
Added private DNS zone data and record generators
The \priv\ directory now includes new JSON files defining DNS zone data for \example.com\, \minimal-dnssec.com\, \test.com\, and \wtest.com\, alongside Ruby scripts (\host\_record\_generator.rb\, \toomuchinfo\_record\_generator.rb\) to programmatically generate test records. These files provide the underlying data structures for internal testing and specification validation, supporting features such as DNSSEC, ALIAS records, and various record types.
priv · high confidence
Behavioural changes
Renamed DNS conformance test suite from erldns\_test to dnstest
The DNS server conformance testing application has been renamed from \erldns\_test\ to \dnstest\. This change updates the application source, module names, and internal dependencies (such as the test harness and metrics modules) to reflect the new identifier, while also migrating the logging implementation from \lager\ to the standard \logger\ library.
src · high confidence
Test coverage
Added test specifications for Empty Non-Terminal and wildcard DNS behaviors
Added new test suites in \src/tests/ent\_specs.erl\ and \src/tests/wildcard\_specs.erl\ to verify DNS server compliance with RFC 4592. The ENT tests validate that queries to empty non-terminal nodes correctly return SOA records in the authority section, including handling of DNSSEC-signed responses (RRSIG/NSEC) and ensuring NXNAME is not incorrectly set in NSEC bitmaps. The wildcard tests cover scenarios such as wildcard bounding by ENTs, interactions between CNAMEs and wildcards at the zone apex, and validation of long CNAME chains involving wildcards.
src/tests · high confidence
Dependencies
Migration to rebar3 and updated build tooling
The project has migrated from the legacy rebar build tool to rebar3, updating the build configuration to use modern plugins (rebar3\_hex, rebar3\_ex\_doc, rebar3\_lint, erlfmt) and stricter compiler warnings. This change includes switching the primary DNS dependency from a git-hosted 'dns' package to the hex package 'dns\_erlang' (version 5.0.18), removing the 'lager' dependency in favor of standard Erlang logging, and updating the test runner script to use rebar3 for compilation and configuration loading.
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 55 → 58 (+3.7)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 95 → 95 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 42 → 48 (+6.3)
- Readiness 73 → 76 (+2.7)
- Security 87 → 94 (+6.5)
- Event-Driven 48 → 48 (+0.0)
Resolved (3)
- Coverage not measured — no coverage collector is wired up
- Documentation: no usage examples (README.md)
- Off-boarding risk: anonymized user #1
New (3)
- Documentation: no contributor guidance (README.md)
- Off-boarding risk: anonymized user #1
- Outdated: dns_erlang
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
dnsimple/dnstest was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 9bfb1c1f60e8284326fd9cce2ef8b722b9969467 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.