From eac39ff0c1da587b5fb026ad681d61091e29e6e5 Mon Sep 17 00:00:00 2001 From: Garrett Thornburg Date: Fri, 5 May 2017 00:00:33 -0400 Subject: [PATCH] Use a null writer + null logger when running tests --- connection_test.go | 6 ++---- logger.go | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/connection_test.go b/connection_test.go index 7040ac5..05c20b0 100644 --- a/connection_test.go +++ b/connection_test.go @@ -2,8 +2,8 @@ package main import ( "io" - "net/http" "net" + "net/http" "strings" "testing" ) @@ -50,7 +50,7 @@ func readMessage(reader io.Reader) string { } func TestMain(m *testing.M) { - InitLogger() + InitNullLogger() m.Run() } @@ -163,7 +163,6 @@ func TestSampleProxyViaConnect(t *testing.T) { t.Fatalf("Expected '%s' but got '%s'", expected_response, response) } - // Mimic a regular http request request := "GET / HTTP/1.1\r\nHost: localhost\r\n\r\n" incoming.ClientWriter.Write([]byte(request)) @@ -173,7 +172,6 @@ func TestSampleProxyViaConnect(t *testing.T) { t.Fatalf("Expected '%s' but got '%s'", expected_response, response) } - incoming.CloseClient() <-cleanedUp } diff --git a/logger.go b/logger.go index 754d14b..6da576f 100644 --- a/logger.go +++ b/logger.go @@ -5,6 +5,12 @@ import ( "os" ) +type nullWriter struct{} + +func (nullWriter) Write(p []byte) (n int, err error) { + return len(p), nil +} + type Logger struct { Info *log.Logger Warn *log.Logger @@ -17,6 +23,14 @@ func InitLogger() { logger = NewLogger() } +func InitNullLogger() { + nw := nullWriter{} + InitLogger() + logger.Info.SetOutput(nw) + logger.Warn.SetOutput(nw) + logger.Fatal.SetOutput(nw) +} + func NewLogger() *Logger { return &Logger{ Info: log.New(os.Stdout, "[info] ", log.Ldate|log.Ltime|log.Lshortfile),