From 209610075ab20cb7cc29f696072701a5a6005bab Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Thu, 25 Jan 2024 11:35:29 +0100 Subject: [PATCH] [TESTS] add log.Level to test.NewLogChecker So the caller can check log events at the desired level instead of being limited to the default level log.INFO (cherry picked from commit 2fbf5f9555641a1244576df92cb518f8ad76c162) (cherry picked from commit e2137a3147389114475db787522d5c22ff249d2c) --- models/db/engine_test.go | 4 ++-- modules/test/logchecker.go | 6 ++++-- modules/test/logchecker_test.go | 17 +++++++++++++++-- services/migrations/gitea_uploader_test.go | 2 +- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/models/db/engine_test.go b/models/db/engine_test.go index e8f1c19b1..f050c5ca2 100644 --- a/models/db/engine_test.go +++ b/models/db/engine_test.go @@ -91,7 +91,7 @@ func TestPrimaryKeys(t *testing.T) { } func TestSlowQuery(t *testing.T) { - lc, cleanup := test.NewLogChecker("slow-query") + lc, cleanup := test.NewLogChecker("slow-query", log.INFO) lc.StopMark("[Slow SQL Query]") defer cleanup() @@ -125,7 +125,7 @@ func TestSlowQuery(t *testing.T) { } func TestErrorQuery(t *testing.T) { - lc, cleanup := test.NewLogChecker("error-query") + lc, cleanup := test.NewLogChecker("error-query", log.INFO) lc.StopMark("[Error SQL Query]") defer cleanup() diff --git a/modules/test/logchecker.go b/modules/test/logchecker.go index 7bf234f56..0f12257f3 100644 --- a/modules/test/logchecker.go +++ b/modules/test/logchecker.go @@ -55,13 +55,15 @@ func (lc *LogChecker) checkLogEvent(event *log.EventFormatted) { var checkerIndex int64 -func NewLogChecker(namePrefix string) (logChecker *LogChecker, cancel func()) { +func NewLogChecker(namePrefix string, level log.Level) (logChecker *LogChecker, cancel func()) { logger := log.GetManager().GetLogger(namePrefix) newCheckerIndex := atomic.AddInt64(&checkerIndex, 1) writerName := namePrefix + "-" + fmt.Sprint(newCheckerIndex) lc := &LogChecker{} - lc.EventWriterBaseImpl = log.NewEventWriterBase(writerName, "test-log-checker", log.WriterMode{}) + lc.EventWriterBaseImpl = log.NewEventWriterBase(writerName, "test-log-checker", log.WriterMode{ + Level: level, + }) logger.AddWriters(lc) return lc, func() { _ = logger.RemoveWriter(writerName) } } diff --git a/modules/test/logchecker_test.go b/modules/test/logchecker_test.go index 6b093ab1b..0f410fed1 100644 --- a/modules/test/logchecker_test.go +++ b/modules/test/logchecker_test.go @@ -12,8 +12,8 @@ import ( "github.com/stretchr/testify/assert" ) -func TestLogChecker(t *testing.T) { - lc, cleanup := NewLogChecker(log.DEFAULT) +func TestLogCheckerInfo(t *testing.T) { + lc, cleanup := NewLogChecker(log.DEFAULT, log.INFO) defer cleanup() lc.Filter("First", "Third").StopMark("End") @@ -24,11 +24,13 @@ func TestLogChecker(t *testing.T) { assert.False(t, stopped) log.Info("First") + log.Debug("Third") filtered, stopped = lc.Check(100 * time.Millisecond) assert.ElementsMatch(t, []bool{true, false}, filtered) assert.False(t, stopped) log.Info("Second") + log.Debug("Third") filtered, stopped = lc.Check(100 * time.Millisecond) assert.ElementsMatch(t, []bool{true, false}, filtered) assert.False(t, stopped) @@ -43,3 +45,14 @@ func TestLogChecker(t *testing.T) { assert.ElementsMatch(t, []bool{true, true}, filtered) assert.True(t, stopped) } + +func TestLogCheckerDebug(t *testing.T) { + lc, cleanup := NewLogChecker(log.DEFAULT, log.DEBUG) + defer cleanup() + + lc.StopMark("End") + + log.Debug("End") + _, stopped := lc.Check(100 * time.Millisecond) + assert.True(t, stopped) +} diff --git a/services/migrations/gitea_uploader_test.go b/services/migrations/gitea_uploader_test.go index c8102c6b8..33b7c6808 100644 --- a/services/migrations/gitea_uploader_test.go +++ b/services/migrations/gitea_uploader_test.go @@ -496,7 +496,7 @@ func TestGiteaUploadUpdateGitForPullRequest(t *testing.T) { t.Run(testCase.name, func(t *testing.T) { stopMark := fmt.Sprintf(">>>>>>>>>>>>>STOP: %s<<<<<<<<<<<<<<<", testCase.name) - logChecker, cleanup := test.NewLogChecker(log.DEFAULT) + logChecker, cleanup := test.NewLogChecker(log.DEFAULT, log.INFO) logChecker.Filter(testCase.logFilter...).StopMark(stopMark) defer cleanup()