diff --git a/integrations/integration_test.go b/integrations/integration_test.go index 7ddcf3e1cde46..1003f136ddfd9 100644 --- a/integrations/integration_test.go +++ b/integrations/integration_test.go @@ -120,7 +120,7 @@ func TestMain(m *testing.M) { } exitCode := m.Run() - writerCloser.t = nil + writerCloser.Reset() if err = util.RemoveAll(setting.Indexer.IssuePath); err != nil { fmt.Printf("util.RemoveAll: %v\n", err) diff --git a/integrations/testlogger.go b/integrations/testlogger.go index ff408b314c868..69db480c159f1 100644 --- a/integrations/testlogger.go +++ b/integrations/testlogger.go @@ -90,6 +90,21 @@ func (w *testLoggerWriterCloser) Close() error { return nil } +func (w *testLoggerWriterCloser) Reset() { + w.Lock() + if len(w.t) > 0 { + for _, t := range w.t { + if t == nil { + continue + } + fmt.Fprintf(os.Stdout, "Unclosed logger writer in test: %s", (*t).Name()) + (*t).Errorf("Unclosed logger writer in test: %s", (*t).Name()) + } + w.t = nil + } + w.Unlock() +} + // PrintCurrentTest prints the current test to os.Stdout func PrintCurrentTest(t testing.TB, skip ...int) func() { start := time.Now()