// Package netutil contains various functions that help with networking. package netutil import "net" // AllocatePorts allocates random ports suitable for listening. func AllocatePorts(count int) ([]string, error) { var ports []string for i := 0; i < count; i++ { li, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { return nil, err } _, port, _ := net.SplitHostPort(li.Addr().String()) err = li.Close() if err != nil { return nil, err } ports = append(ports, port) } return ports, nil }