all: use Go 1.26 things, run most gofix modernizers
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>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
4453cc5f53
commit
bd2a2d53d3
@@ -751,13 +751,13 @@ func ports(s string) PortRange {
|
||||
}
|
||||
|
||||
var fs, ls string
|
||||
i := strings.IndexByte(s, '-')
|
||||
if i == -1 {
|
||||
before, after, ok := strings.Cut(s, "-")
|
||||
if !ok {
|
||||
fs = s
|
||||
ls = fs
|
||||
} else {
|
||||
fs = s[:i]
|
||||
ls = s[i+1:]
|
||||
fs = before
|
||||
ls = after
|
||||
}
|
||||
first, err := strconv.ParseInt(fs, 10, 16)
|
||||
if err != nil {
|
||||
|
||||
@@ -1474,8 +1474,7 @@ func (c *Conn) sendUDPBatch(addr epAddr, buffs [][]byte, offset int) (sent bool,
|
||||
err = c.pconn4.WriteWireGuardBatchTo(buffs, addr, offset)
|
||||
}
|
||||
if err != nil {
|
||||
var errGSO neterror.ErrUDPGSODisabled
|
||||
if errors.As(err, &errGSO) {
|
||||
if errGSO, ok := errors.AsType[neterror.ErrUDPGSODisabled](err); ok {
|
||||
c.logf("magicsock: %s", errGSO.Error())
|
||||
err = errGSO.RetryErr
|
||||
} else {
|
||||
|
||||
@@ -2007,7 +2007,7 @@ func TestStressSetNetworkMap(t *testing.T) {
|
||||
|
||||
const iters = 1000 // approx 0.5s on an m1 mac
|
||||
for range iters {
|
||||
for j := 0; j < npeers; j++ {
|
||||
for j := range npeers {
|
||||
// Randomize which peers are present.
|
||||
if prng.Int()&1 == 0 {
|
||||
present[j] = !present[j]
|
||||
@@ -2196,7 +2196,7 @@ func newWireguard(t *testing.T, uapi string, aips []netip.Prefix) (*device.Devic
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, line := range strings.Split(s, "\n") {
|
||||
for line := range strings.SplitSeq(s, "\n") {
|
||||
line = strings.TrimSpace(line)
|
||||
if len(line) == 0 {
|
||||
continue
|
||||
@@ -4311,7 +4311,7 @@ func TestRotateDiscoKeyMultipleTimes(t *testing.T) {
|
||||
keys := make([]key.DiscoPublic, 0, 5)
|
||||
keys = append(keys, c.discoAtomic.Public())
|
||||
|
||||
for i := 0; i < 4; i++ {
|
||||
for i := range 4 {
|
||||
c.RotateDiscoKey()
|
||||
newKey := c.discoAtomic.Public()
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ var (
|
||||
canonicalIPs = sync.OnceValue(func() (checkIPFunc func(netip.Addr) bool) {
|
||||
// https://bgp.he.net/AS41231#_prefixes
|
||||
t := &bart.Table[bool]{}
|
||||
for _, s := range strings.Fields(`
|
||||
for s := range strings.FieldsSeq(`
|
||||
91.189.89.0/24
|
||||
91.189.91.0/24
|
||||
91.189.92.0/24
|
||||
|
||||
@@ -1073,11 +1073,9 @@ func (o *fakeOS) run(args ...string) error {
|
||||
|
||||
switch args[2] {
|
||||
case "add":
|
||||
for _, el := range *ls {
|
||||
if el == rest {
|
||||
o.t.Errorf("can't add %q, already present", rest)
|
||||
return errors.New("already exists")
|
||||
}
|
||||
if slices.Contains(*ls, rest) {
|
||||
o.t.Errorf("can't add %q, already present", rest)
|
||||
return errors.New("already exists")
|
||||
}
|
||||
*ls = append(*ls, rest)
|
||||
sort.Strings(*ls)
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
"syscall"
|
||||
@@ -42,8 +43,7 @@ func errCode(err error) int {
|
||||
if err == nil {
|
||||
return 0
|
||||
}
|
||||
var e *exec.ExitError
|
||||
if ok := errors.As(err, &e); ok {
|
||||
if e, ok := errors.AsType[*exec.ExitError](err); ok {
|
||||
return e.ExitCode()
|
||||
}
|
||||
s := err.Error()
|
||||
@@ -96,12 +96,7 @@ func newRunGroup(okCode []int, runner commandRunner) *runGroup {
|
||||
|
||||
func (rg *runGroup) okCode(err error) bool {
|
||||
got := errCode(err)
|
||||
for _, want := range rg.OkCode {
|
||||
if got == want {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
return slices.Contains(rg.OkCode, got)
|
||||
}
|
||||
|
||||
func (rg *runGroup) Output(args ...string) []byte {
|
||||
|
||||
@@ -19,8 +19,8 @@ func TestConfigEqual(t *testing.T) {
|
||||
}
|
||||
configType := reflect.TypeFor[Config]()
|
||||
configFields := []string{}
|
||||
for i := range configType.NumField() {
|
||||
configFields = append(configFields, configType.Field(i).Name)
|
||||
for field := range configType.Fields() {
|
||||
configFields = append(configFields, field.Name)
|
||||
}
|
||||
if !reflect.DeepEqual(configFields, testedFields) {
|
||||
t.Errorf("Config.Equal check might be out of sync\nfields: %q\nhandled: %q\n",
|
||||
|
||||
@@ -12,8 +12,7 @@ import (
|
||||
// that might get added in the future.
|
||||
func TestConfigEqual(t *testing.T) {
|
||||
rt := reflect.TypeFor[Config]()
|
||||
for i := range rt.NumField() {
|
||||
sf := rt.Field(i)
|
||||
for sf := range rt.Fields() {
|
||||
switch sf.Name {
|
||||
case "Name", "NodeID", "PrivateKey", "MTU", "Addresses", "DNS", "Peers",
|
||||
"NetworkLogging":
|
||||
@@ -28,8 +27,7 @@ func TestConfigEqual(t *testing.T) {
|
||||
// that might get added in the future.
|
||||
func TestPeerEqual(t *testing.T) {
|
||||
rt := reflect.TypeFor[Peer]()
|
||||
for i := range rt.NumField() {
|
||||
sf := rt.Field(i)
|
||||
for sf := range rt.Fields() {
|
||||
switch sf.Name {
|
||||
case "PublicKey", "DiscoKey", "AllowedIPs", "IsJailed",
|
||||
"PersistentKeepalive", "V4MasqAddr", "V6MasqAddr", "WGEndpoint":
|
||||
|
||||
Reference in New Issue
Block a user