[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)
This commit is contained in:
Earl Warren 2024-01-25 11:35:29 +01:00
parent 6fb55e9c08
commit 209610075a
WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS.
GPG key ID: 0579CB2928A78A00
4 changed files with 22 additions and 7 deletions

View file

@ -91,7 +91,7 @@ func TestPrimaryKeys(t *testing.T) {
} }
func TestSlowQuery(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]") lc.StopMark("[Slow SQL Query]")
defer cleanup() defer cleanup()
@ -125,7 +125,7 @@ func TestSlowQuery(t *testing.T) {
} }
func TestErrorQuery(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]") lc.StopMark("[Error SQL Query]")
defer cleanup() defer cleanup()

View file

@ -55,13 +55,15 @@ func (lc *LogChecker) checkLogEvent(event *log.EventFormatted) {
var checkerIndex int64 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) logger := log.GetManager().GetLogger(namePrefix)
newCheckerIndex := atomic.AddInt64(&checkerIndex, 1) newCheckerIndex := atomic.AddInt64(&checkerIndex, 1)
writerName := namePrefix + "-" + fmt.Sprint(newCheckerIndex) writerName := namePrefix + "-" + fmt.Sprint(newCheckerIndex)
lc := &LogChecker{} 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) logger.AddWriters(lc)
return lc, func() { _ = logger.RemoveWriter(writerName) } return lc, func() { _ = logger.RemoveWriter(writerName) }
} }

View file

@ -12,8 +12,8 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
func TestLogChecker(t *testing.T) { func TestLogCheckerInfo(t *testing.T) {
lc, cleanup := NewLogChecker(log.DEFAULT) lc, cleanup := NewLogChecker(log.DEFAULT, log.INFO)
defer cleanup() defer cleanup()
lc.Filter("First", "Third").StopMark("End") lc.Filter("First", "Third").StopMark("End")
@ -24,11 +24,13 @@ func TestLogChecker(t *testing.T) {
assert.False(t, stopped) assert.False(t, stopped)
log.Info("First") log.Info("First")
log.Debug("Third")
filtered, stopped = lc.Check(100 * time.Millisecond) filtered, stopped = lc.Check(100 * time.Millisecond)
assert.ElementsMatch(t, []bool{true, false}, filtered) assert.ElementsMatch(t, []bool{true, false}, filtered)
assert.False(t, stopped) assert.False(t, stopped)
log.Info("Second") log.Info("Second")
log.Debug("Third")
filtered, stopped = lc.Check(100 * time.Millisecond) filtered, stopped = lc.Check(100 * time.Millisecond)
assert.ElementsMatch(t, []bool{true, false}, filtered) assert.ElementsMatch(t, []bool{true, false}, filtered)
assert.False(t, stopped) assert.False(t, stopped)
@ -43,3 +45,14 @@ func TestLogChecker(t *testing.T) {
assert.ElementsMatch(t, []bool{true, true}, filtered) assert.ElementsMatch(t, []bool{true, true}, filtered)
assert.True(t, stopped) 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)
}

View file

@ -496,7 +496,7 @@ func TestGiteaUploadUpdateGitForPullRequest(t *testing.T) {
t.Run(testCase.name, func(t *testing.T) { t.Run(testCase.name, func(t *testing.T) {
stopMark := fmt.Sprintf(">>>>>>>>>>>>>STOP: %s<<<<<<<<<<<<<<<", testCase.name) 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) logChecker.Filter(testCase.logFilter...).StopMark(stopMark)
defer cleanup() defer cleanup()