Fix failing nss/tst-nss-files-hosts-long with local resolver
commit2738480a4b0866723fb8c633f36bdd34a8767581
authorAurelien Jarno <aurelien@aurel32.net>
Thu, 2 Sep 2021 22:28:14 +0000 (3 00:28 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Tue, 7 Sep 2021 19:41:38 +0000 (7 21:41 +0200)
tree15ef2b682a773a19623a5c5b5c2a001b9782c833
parent66016ec8aeefd40e016d7040d966484c764b0e9c
Fix failing nss/tst-nss-files-hosts-long with local resolver

When a local resolver like unbound is listening on the IPv4 loopback
address 127.0.0.1, the nss/tst-nss-files-hosts-long test fails. This is
due to:
- the default resolver in the absence of resolv.conf being 127.0.0.1
- the default DNS NSS database configuration in the absence of
  nsswitch.conf being 'hosts: dns [!UNAVAIL=return] file'

This causes the requests for 'test4' and 'test6' to first be sent to the
local resolver, which responds with NXDOMAIN in the likely case those
records do no exist. In turn that causes the access to /etc/hosts to be
skipped, which is the purpose of that test.

Fix that by providing a simple nsswitch.conf file forcing access to
/etc/hosts for that test. I have tested that the only changed result in
the testsuite is that test.
nss/tst-nss-files-hosts-long.root/etc/nsswitch.conf [new file with mode: 0644]