You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The walk-mode live tests added in this branch (libopendmarc/tests/test_dmarc_walk.c, testfiles/dmarcwalk.gushi.org.zone, testfiles/gushi.org.zone.inc) currently hardcode gushi.org and dmarcwalk.gushi.org as the test domains. That's fine today, but it ties test-suite autonomy to one maintainer's personal DNS staying available and unchanged indefinitely.
This is the same class of problem as #413 (filter tests depending on paypal.com/trusteddomain.org), just one level removed: instead of a stale assumption about a third party's DNS, it's a dependency on a maintainer's DNS. Anyone who wants to run --enable-live-tests without trusting that gushi.org stays put forever (an OS packager building in an isolated environment, CI run by someone other than Dan, or trusteddomainproject standing up its own dedicated test infrastructure) currently can't.
Proposal
testfiles/dmarcwalk.gushi.org.zone is already a complete, self-contained, project-owned zone (own SOA/NS, every record exists only for these tests). It has no dependency on real-world content, so it's already portable in principle, just not in practice, since the domain name is a literal in the test source.
Promote the domain name to a single configurable point (configure-time flag or environment variable read at test startup) instead of the hardcoded #define ZONE "dmarcwalk.gushi.org" in test_dmarc_walk.c. Anyone can then deploy the same zone file under a domain they control and point the test suite at it.
This is scoped to the walk-mode fixture only. The gushi.org.zone.inc fragment (used by test_spf.c and parts of test_dns_lookup.c) tests against Dan's actual production SPF/DMARC records, not a portable fixture, and isn't part of this proposal; it would need new, purpose-built fixtures if it's ever made portable too.
Worth considering alongside filter tests depend on live DNS records we don't control #413's fake-DNS-record approach for the paypal.com cases: a self-hostable zone and opendmarc_dns_fake_record() aren't mutually exclusive, they suit different needs (testing actual wire-format DNS resolution vs. fully deterministic offline tests).
Not urgent
No live test is broken today. This is a "make it switchable before we need to switch it" issue, worth doing if/when trusteddomainproject stands up dedicated test DNS, or if packager feedback asks for it sooner.
Summary
The walk-mode live tests added in this branch (
libopendmarc/tests/test_dmarc_walk.c,testfiles/dmarcwalk.gushi.org.zone,testfiles/gushi.org.zone.inc) currently hardcodegushi.organddmarcwalk.gushi.orgas the test domains. That's fine today, but it ties test-suite autonomy to one maintainer's personal DNS staying available and unchanged indefinitely.This is the same class of problem as #413 (filter tests depending on
paypal.com/trusteddomain.org), just one level removed: instead of a stale assumption about a third party's DNS, it's a dependency on a maintainer's DNS. Anyone who wants to run--enable-live-testswithout trusting that gushi.org stays put forever (an OS packager building in an isolated environment, CI run by someone other than Dan, or trusteddomainproject standing up its own dedicated test infrastructure) currently can't.Proposal
testfiles/dmarcwalk.gushi.org.zoneis already a complete, self-contained, project-owned zone (own SOA/NS, every record exists only for these tests). It has no dependency on real-world content, so it's already portable in principle, just not in practice, since the domain name is a literal in the test source.#define ZONE "dmarcwalk.gushi.org"intest_dmarc_walk.c. Anyone can then deploy the same zone file under a domain they control and point the test suite at it.gushi.org.zone.incfragment (used bytest_spf.cand parts oftest_dns_lookup.c) tests against Dan's actual production SPF/DMARC records, not a portable fixture, and isn't part of this proposal; it would need new, purpose-built fixtures if it's ever made portable too.paypal.comcases: a self-hostable zone andopendmarc_dns_fake_record()aren't mutually exclusive, they suit different needs (testing actual wire-format DNS resolution vs. fully deterministic offline tests).Not urgent
No live test is broken today. This is a "make it switchable before we need to switch it" issue, worth doing if/when trusteddomainproject stands up dedicated test DNS, or if packager feedback asks for it sooner.