From b8cc599f7b6e3f2dafbd6d5f189c626bd3aae6b1 Mon Sep 17 00:00:00 2001 From: Anselm Jonas Scholl Date: Mon, 5 Aug 2024 16:56:41 +0200 Subject: [PATCH] test: reset the log recorder after each test to enable tests with log recording to share an environment; --- pkg/test/env/environment.go | 4 ++++ pkg/test/env/logging.go | 8 ++++++++ pkg/test/suite/run.go | 1 + 3 files changed, 13 insertions(+) diff --git a/pkg/test/env/environment.go b/pkg/test/env/environment.go index cadfda093..bdd6e4bdc 100644 --- a/pkg/test/env/environment.go +++ b/pkg/test/env/environment.go @@ -173,6 +173,10 @@ func (e *Environment) Logs() LogRecords { return e.logger.Records() } +func (e *Environment) ResetLogs() { + e.logger.Reset() +} + func (e *Environment) Clock() clock.Clock { return clock.Provider } diff --git a/pkg/test/env/logging.go b/pkg/test/env/logging.go index 2199a3052..595c56b6d 100644 --- a/pkg/test/env/logging.go +++ b/pkg/test/env/logging.go @@ -20,6 +20,7 @@ type ( RecordingLogger interface { log.GosoLogger Records() []LogRecord + Reset() } recordingLogger struct { @@ -102,6 +103,13 @@ func (r recordingLogger) Records() []LogRecord { return records } +func (r recordingLogger) Reset() { + r.mutex.RLock() + defer r.mutex.RUnlock() + + *r.records = []LogRecord{} +} + func (h handlerInMemoryWriter) Channels() []string { return []string{} } diff --git a/pkg/test/suite/run.go b/pkg/test/suite/run.go index 47ca7ebdf..cc3a8172e 100644 --- a/pkg/test/suite/run.go +++ b/pkg/test/suite/run.go @@ -171,6 +171,7 @@ func runTestCaseWithSharedEnvironment(t *testing.T, suite TestingSuite, suiteOpt stream.ResetInMemoryInputs() stream.ResetInMemoryOutputs() stream.ResetProducerDaemons() + environment.ResetLogs() } }