[Dnsmasq-discuss] unittests

Dominik Derigs dl6er at dl6er.de
Wed Oct 20 20:05:21 UTC 2021

Hey Petr,

On Wed, 2021-10-20 at 19:15 +0200, Petr Menšík wrote:
> What do you think? Should we try to reuse some parts for both
> projects
> or just copy interesting stuff out and mostly forget its
> original source?
> [1] https://github.com/pemensik/FTL/tree/tests/test/dnsmasq

It might be difficult to do the same tests for both, we mostly do
the tests to test for functionality we add on top of dnsmasq.

The reason why we added pdns is a Pi-hole feature we call "deep
CNAME inspection". Assume you have a chain of CNAMEs and one of
them is pointing to another zone with a domain configured to be
blocked. In this case, we want to short-circuit the entire CNAME.
I've also seen this referred to as "CNAME cloaking" and don't
think this test can be set up using dnsmasq's authoritative
options as the reference to an external zone needs a recursive
resolver to resolve correctly.

Furthermore, I figured it's better to use a testbench that is
independent of the test subject. If we test dnsmasq by querying
another dnsmasq instance, this may hide certain bugs.

I think the best for the dnsmasq project would be to just take
what is needed and adjust it accordingly. We'll import all tests
we consider useful for our project and assume it won't be all of
them. As dnsmasq will be tested independently, it won't be super-
important to run all the same tests in our repository again.


More information about the Dnsmasq-discuss mailing list