mirror of
https://github.com/tailscale/tailscale.git
synced 2026-05-05 20:26:47 +02:00
I omitted a lot of the min/max modernizers because they didn't result in more clear code. Some of it's older "for x := range 123". Also: errors.AsType, any, fmt.Appendf, etc. Updates #18682 Change-Id: I83a451577f33877f962766a5b65ce86f7696471c Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
// Copyright (c) Tailscale Inc & contributors
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
package wgcfg
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
// Tests that [Config.Equal] tests all fields of [Config], even ones
|
|
// that might get added in the future.
|
|
func TestConfigEqual(t *testing.T) {
|
|
rt := reflect.TypeFor[Config]()
|
|
for sf := range rt.Fields() {
|
|
switch sf.Name {
|
|
case "Name", "NodeID", "PrivateKey", "MTU", "Addresses", "DNS", "Peers",
|
|
"NetworkLogging":
|
|
// These are compared in [Config.Equal].
|
|
default:
|
|
t.Errorf("Have you added field %q to Config.Equal? Do so if not, and then update TestConfigEqual", sf.Name)
|
|
}
|
|
}
|
|
}
|
|
|
|
// Tests that [Peer.Equal] tests all fields of [Peer], even ones
|
|
// that might get added in the future.
|
|
func TestPeerEqual(t *testing.T) {
|
|
rt := reflect.TypeFor[Peer]()
|
|
for sf := range rt.Fields() {
|
|
switch sf.Name {
|
|
case "PublicKey", "DiscoKey", "AllowedIPs", "IsJailed",
|
|
"PersistentKeepalive", "V4MasqAddr", "V6MasqAddr", "WGEndpoint":
|
|
// These are compared in [Peer.Equal].
|
|
default:
|
|
t.Errorf("Have you added field %q to Peer.Equal? Do so if not, and then update TestPeerEqual", sf.Name)
|
|
}
|
|
}
|
|
}
|