From 5ee042bcd42a6a6d9d3f885e2384cb6ae515f028 Mon Sep 17 00:00:00 2001 From: Philipp Mieden Date: Tue, 21 May 2019 10:12:05 +0200 Subject: [PATCH] handle unchecked errors --- client/client_test.go | 25 ++++++++++++++++--------- repo/history_test.go | 15 ++++++++++++--- server/webserver.go | 6 +++++- status/healthz.go | 20 +++++++++++++------- 4 files changed, 46 insertions(+), 20 deletions(-) diff --git a/client/client_test.go b/client/client_test.go index df4a465..2e9648e 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -43,21 +43,28 @@ func getAvailableAddr() string { return "127.0.0.1:" + strconv.Itoa(getFreePort()) } -var testServerSocketAddr string -var testServerWebserverAddr string +var ( + testServerSocketAddr string + testServerWebserverAddr string +) func initTestServer(t testing.TB) (socketAddr, webserverAddr string) { socketAddr = getAvailableAddr() webserverAddr = getAvailableAddr() testServer, varDir := mock.GetMockData(t) log.SelectedLevel = log.LevelError - go server.RunServerSocketAndWebServer( - testServer.URL+"/repo-two-dimensions.json", - socketAddr, - webserverAddr, - pathContentserver, - varDir, - ) + go func() { + err := server.RunServerSocketAndWebServer( + testServer.URL+"/repo-two-dimensions.json", + socketAddr, + webserverAddr, + pathContentserver, + varDir, + ) + if err != nil { + t.Fatal("test server crashed: ", err) + } + }() socketClient, errClient := NewClient(socketAddr, 1, time.Duration(time.Millisecond*100)) if errClient != nil { panic(errClient) diff --git a/repo/history_test.go b/repo/history_test.go index 0801663..fc06a6b 100644 --- a/repo/history_test.go +++ b/repo/history_test.go @@ -22,7 +22,10 @@ func TestHistoryCurrent(t *testing.T) { h = testHistory() test = []byte("test") ) - h.add(test) + err := h.add(test) + if err != nil { + t.Fatal("failed to add: ", err) + } current, err := h.getCurrent() if err != nil { t.Fatal(err) @@ -35,10 +38,16 @@ func TestHistoryCurrent(t *testing.T) { func TestHistoryCleanup(t *testing.T) { h := testHistory() for i := 0; i < 50; i++ { - h.add([]byte(fmt.Sprint(i))) + err := h.add([]byte(fmt.Sprint(i))) + if err != nil { + t.Fatal("failed to add: ", err) + } time.Sleep(time.Millisecond * 5) } - h.cleanup() + err := h.cleanup() + if err != nil { + t.Fatal("failed to run cleanup: ", err) + } files, err := h.getHistory() if err != nil { t.Fatal(err) diff --git a/server/webserver.go b/server/webserver.go index 3f59c5b..c638a45 100644 --- a/server/webserver.go +++ b/server/webserver.go @@ -5,6 +5,7 @@ import ( "net/http" "strings" + "github.com/foomo/contentserver/log" "github.com/foomo/contentserver/status" "github.com/foomo/contentserver/repo" @@ -42,5 +43,8 @@ func (s *webServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { http.Error(w, errReply.Error(), http.StatusInternalServerError) return } - w.Write(reply) + _, err := w.Write(reply) + if err != nil { + log.Error("failed to write webServer reply: ", err) + } } diff --git a/status/healthz.go b/status/healthz.go index 21acbbb..d91c712 100644 --- a/status/healthz.go +++ b/status/healthz.go @@ -3,8 +3,9 @@ package status import ( "encoding/json" "fmt" - "github.com/foomo/contentserver/log" "net/http" + + "github.com/foomo/contentserver/log" ) func RunHealthzHandlerListener(address string, serviceName string) { @@ -13,13 +14,18 @@ func RunHealthzHandlerListener(address string, serviceName string) { } func HealthzHandler(serviceName string) http.Handler { - data := map[string]string{ - "service": serviceName, - } - status, _ := json.Marshal(data) - h := http.NewServeMux() + var ( + data = map[string]string{ + "service": serviceName, + } + status, _ = json.Marshal(data) + h = http.NewServeMux() + ) h.Handle("/healthz", http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { - w.Write(status) + _, err := w.Write(status) + if err != nil { + log.Error("failed to write healthz status: ", err) + } })) return h