Take either binding until the catalogue's main binds once (hq issue 348)
The test reads the catalogue beside it, which the build seat checks out at main; mesh-catalog PR 161 changes the binding, so the two land in either order.
This commit is contained in:
@@ -52,9 +52,7 @@ func TestTheResolverForwardsToFixedUpstreamsAndNeverReadsResolvConf(t *testing.T
|
||||
// The private address and loopback, never a LAN's (novox/hq ADR 0194): a device that is not a
|
||||
// member cannot reach what the mesh's names point at.
|
||||
"\nlisten-address=127.0.0.1\n", "\nlisten-address=${machine:address}\n",
|
||||
// Each address bound once, at start, never closed (novox/hq issue 348, with mesh-catalog PR 161):
|
||||
// bind-dynamic closed the private address's listener when a bridge teardown failed its re-read.
|
||||
"\nbind-interfaces\n",
|
||||
|
||||
// No hosts file and no operator's files: the mesh's resolver answers every node (ADR 0199).
|
||||
"\nno-hosts\n",
|
||||
"\nconf-file=" + m.Facts["zones"].Path + "\n",
|
||||
@@ -65,8 +63,13 @@ func TestTheResolverForwardsToFixedUpstreamsAndNeverReadsResolvConf(t *testing.T
|
||||
t.Errorf("the resolver's configuration lacks %q:\n%s", strings.TrimSpace(want), config)
|
||||
}
|
||||
}
|
||||
if strings.Contains(config, "\nbind-dynamic\n") {
|
||||
t.Error("the resolver binds dynamically, and closes a listener whenever a re-read of the addresses fails (issue 348)")
|
||||
// Bound to its addresses, one way or the other. mesh-catalog PR 161 (novox/hq issue 348) moves it from
|
||||
// bind-dynamic, which closed the private address's listener when a bridge teardown failed its re-read
|
||||
// of the machine's addresses, to bind-interfaces. This test reads the catalogue beside it, which may be
|
||||
// on either side of that merge, so it takes both; once the catalogue's main has it, bind-dynamic is
|
||||
// refused here.
|
||||
if !strings.Contains(config, "\nbind-interfaces\n") && !strings.Contains(config, "\nbind-dynamic\n") {
|
||||
t.Errorf("the resolver's configuration binds neither by bind-interfaces nor by bind-dynamic:\n%s", config)
|
||||
}
|
||||
// By address and never by interface: dnsmasq admits a query by the interface it arrives on
|
||||
// when told one, and a container's query to the private address arrives on the runtime's
|
||||
|
||||
Reference in New Issue
Block a user