net/dns: format OSConfig correctly with no pointers (#5766)
Fixes tailscale/tailscale#5669 Signed-off-by: Andrew Dunham <andrew@du.nham.ca>main
parent
4b996ad5e3
commit
a5fab23e8f
@ -0,0 +1,44 @@ |
||||
// Copyright (c) 2022 Tailscale Inc & AUTHORS All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package dns |
||||
|
||||
import ( |
||||
"fmt" |
||||
"net/netip" |
||||
"testing" |
||||
|
||||
"tailscale.com/util/dnsname" |
||||
) |
||||
|
||||
func TestOSConfigPrintable(t *testing.T) { |
||||
ocfg := OSConfig{ |
||||
Hosts: []*HostEntry{ |
||||
{ |
||||
Addr: netip.AddrFrom4([4]byte{100, 1, 2, 3}), |
||||
Hosts: []string{"server", "client"}, |
||||
}, |
||||
{ |
||||
Addr: netip.AddrFrom4([4]byte{100, 1, 2, 4}), |
||||
Hosts: []string{"otherhost"}, |
||||
}, |
||||
}, |
||||
Nameservers: []netip.Addr{ |
||||
netip.AddrFrom4([4]byte{8, 8, 8, 8}), |
||||
}, |
||||
SearchDomains: []dnsname.FQDN{ |
||||
dnsname.FQDN("foo.beta.tailscale.net."), |
||||
dnsname.FQDN("bar.beta.tailscale.net."), |
||||
}, |
||||
MatchDomains: []dnsname.FQDN{ |
||||
dnsname.FQDN("ts.com."), |
||||
}, |
||||
} |
||||
s := fmt.Sprintf("%+v", ocfg) |
||||
|
||||
const expected = `{Nameservers:[8.8.8.8] SearchDomains:[foo.beta.tailscale.net. bar.beta.tailscale.net.] MatchDomains:[ts.com.] Hosts:[&{Addr:100.1.2.3 Hosts:[server client]} &{Addr:100.1.2.4 Hosts:[otherhost]}]}` |
||||
if s != expected { |
||||
t.Errorf("format mismatch:\n got: %s\n want: %s", s, expected) |
||||
} |
||||
} |
||||
Loading…
Reference in new issue