mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-27 12:53:57 +01:00
[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 2fbf5f9555
)
This commit is contained in:
parent
4e8f6b2ffd
commit
e2137a3147
4 changed files with 22 additions and 7 deletions
|
@ -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()
|
||||||
|
|
||||||
|
|
|
@ -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) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
}
|
||||||
|
|
|
@ -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()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue