From 9c782d5147bfea0dd85cf3374f598f0176f204eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Thu, 12 Apr 2018 09:31:53 +0200 Subject: [PATCH] commands: Fix failing Travis server test --- commands/server.go | 12 +++--------- commands/server_test.go | 13 ++++++------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/commands/server.go b/commands/server.go index 1747e17ab..8db6fa918 100644 --- a/commands/server.go +++ b/commands/server.go @@ -41,8 +41,6 @@ import ( type serverCmd struct { // Can be used to stop the server. Useful in tests stop <-chan bool - // Can be used to receive notification about when the server is started. Useful in tests. - started chan<- bool disableLiveReload bool navigateToChanged bool @@ -60,11 +58,11 @@ type serverCmd struct { } func newServerCmd() *serverCmd { - return newServerCmdSignaled(nil, nil) + return newServerCmdSignaled(nil) } -func newServerCmdSignaled(stop <-chan bool, started chan<- bool) *serverCmd { - cc := &serverCmd{stop: stop, started: started} +func newServerCmdSignaled(stop <-chan bool) *serverCmd { + cc := &serverCmd{stop: stop} cc.baseBuilderCmd = newBuilderCmd(&cobra.Command{ Use: "server", @@ -400,10 +398,6 @@ func (c *commandeer) serve(s *serverCmd) error { }() } - if s.started != nil { - s.started <- true - } - jww.FEEDBACK.Println("Press Ctrl+C to stop") if s.stop != nil { diff --git a/commands/server_test.go b/commands/server_test.go index b17addf6b..648664697 100644 --- a/commands/server_test.go +++ b/commands/server_test.go @@ -38,9 +38,9 @@ func TestServer(t *testing.T) { os.RemoveAll(dir) }() - stop, started := make(chan bool), make(chan bool) + stop := make(chan bool) - scmd := newServerCmdSignaled(stop, started) + scmd := newServerCmdSignaled(stop) cmd := scmd.getCommand() cmd.SetArgs([]string{"-s=" + dir, fmt.Sprintf("-p=%d", port)}) @@ -50,11 +50,10 @@ func TestServer(t *testing.T) { assert.NoError(err) }() - select { - case <-started: - case <-time.After(2 * time.Second): - t.Fatal("server start took too long") - } + // There is no way to know exactly when the server is ready for connections. + // We could improve by something like https://golang.org/pkg/net/http/httptest/#Server + // But for now, let us sleep and pray! + time.Sleep(2 * time.Second) resp, err := http.Get("http://localhost:1331/") assert.NoError(err)