Skip to content

Commit

Permalink
cmd: Fix flaky port finder
Browse files Browse the repository at this point in the history
Closes #1054

Signed-off-by: arekkas <[email protected]>
  • Loading branch information
arekkas committed Oct 9, 2018
1 parent c0b7a39 commit c5806a7
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 7 deletions.
25 changes: 19 additions & 6 deletions cmd/root_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,30 @@ import (

var frontendPort, backendPort int

func init() {
func freePort() (int, int) {
var err error
frontendPort, err = freeport.GetFreePort()
if err != nil {
r := make([]int, 2)

if r[0], err = freeport.GetFreePort(); err != nil {
panic(err.Error())
}

backendPort, err = freeport.GetFreePort()
if err != nil {
panic(err.Error())
tries := 0
for {
r[1], err = freeport.GetFreePort()
if r[0] != r[1] {
break
}
tries++
if tries > 10 {
panic("Unable to find free port")
}
}
return r[0], r[1]
}

func init() {
frontendPort, backendPort = freePort()

os.Setenv("PUBLIC_PORT", fmt.Sprintf("%d", frontendPort))
os.Setenv("ADMIN_PORT", fmt.Sprintf("%d", backendPort))
Expand Down
1 change: 0 additions & 1 deletion cmd/server/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ import (
"github.com/ory/hydra/jwk"
"github.com/ory/hydra/oauth2"
"github.com/ory/hydra/pkg"
"github.com/ory/metrics-middleware"
"github.com/pkg/errors"
"github.com/rs/cors"
"github.com/spf13/cobra"
Expand Down

0 comments on commit c5806a7

Please sign in to comment.