github.com/Finschia/finschia-sdk@v0.48.1/server/test_helpers.go (about) 1 package server 2 3 import ( 4 "fmt" 5 "net" 6 7 sdkerrors "github.com/Finschia/finschia-sdk/types/errors" 8 ) 9 10 // Get a free address for a test ostracon server 11 // protocol is either tcp, http, etc 12 func FreeTCPAddr() (addr, port string, err error) { 13 l, err := net.Listen("tcp", "localhost:0") 14 if err != nil { 15 return "", "", err 16 } 17 18 if err := l.Close(); err != nil { 19 return "", "", sdkerrors.Wrap(err, "couldn't close the listener") 20 } 21 22 portI := l.Addr().(*net.TCPAddr).Port 23 port = fmt.Sprintf("%d", portI) 24 addr = fmt.Sprintf("tcp://0.0.0.0:%s", port) 25 return 26 }