getFreePort returns a free TCP port
()
| 543 | |
| 544 | // getFreePort returns a free TCP port |
| 545 | func getFreePort() (int, error) { |
| 546 | addr, err := net.ResolveTCPAddr("tcp", "localhost:0") |
| 547 | if err != nil { |
| 548 | return 0, err |
| 549 | } |
| 550 | |
| 551 | l, err := net.ListenTCP("tcp", addr) |
| 552 | if err != nil { |
| 553 | return 0, err |
| 554 | } |
| 555 | defer func() { _ = l.Close() }() |
| 556 | |
| 557 | return l.Addr().(*net.TCPAddr).Port, nil |
| 558 | } |