From 927de87727b0424ed5c2aa5a961df2712875e958 Mon Sep 17 00:00:00 2001
From: Tom Wilkie <tom.wilkie@gmail.com>
Date: Wed, 8 May 2019 10:05:43 +0100
Subject: [PATCH] Explictly listen on localhost in tests, to stop warning on
 MacOS.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
---
 pkg/promtail/promtail_test.go | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/pkg/promtail/promtail_test.go b/pkg/promtail/promtail_test.go
index 31f5b2aa..02cfa5c1 100644
--- a/pkg/promtail/promtail_test.go
+++ b/pkg/promtail/promtail_test.go
@@ -31,10 +31,11 @@ import (
 	"github.com/grafana/loki/pkg/promtail/scrape"
 )
 
+const httpTestPort = 9080
+
 func TestPromtail(t *testing.T) {
 
 	// Setup.
-
 	w := log.NewSyncWriter(os.Stderr)
 	logger := log.NewLogfmtLogger(w)
 	logger = level.NewFilter(logger, level.AllowInfo())
@@ -71,7 +72,7 @@ func TestPromtail(t *testing.T) {
 		}
 	}()
 	go func() {
-		if err = http.ListenAndServe("127.0.0.1:3100", nil); err != nil {
+		if err = http.ListenAndServe("localhost:3100", nil); err != nil {
 			err = errors.Wrap(err, "Failed to start web server to receive logs")
 		}
 	}()
@@ -398,7 +399,7 @@ func (h *testServerHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 }
 
 func getPromMetrics(t *testing.T) ([]byte, string) {
-	resp, err := http.Get("http://localhost:80/metrics")
+	resp, err := http.Get(fmt.Sprintf("http://localhost:%d/metrics", httpTestPort))
 	if err != nil {
 		t.Fatal("Could not query metrics endpoint", err)
 	}
@@ -457,6 +458,11 @@ func buildTestConfig(t *testing.T, positionsFileName string, logDirName string)
 	// Init everything with default values.
 	flagext.RegisterFlags(&cfg)
 
+	// Make promtail listen on localhost to avoid prompts on MacOS.
+	cfg.ServerConfig.HTTPListenHost = "localhost"
+	cfg.ServerConfig.HTTPListenPort = httpTestPort
+	cfg.ServerConfig.GRPCListenHost = "localhost"
+
 	// Override some of those defaults
 	cfg.ClientConfig.URL = clientURL
 	cfg.ClientConfig.BatchWait = 10 * time.Millisecond
-- 
GitLab