2023-04-22 04:32:25 +08:00
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package test
import (
"testing"
"time"
"code.gitea.io/gitea/modules/log"
"github.com/stretchr/testify/assert"
)
2024-01-25 11:35:29 +01:00
func TestLogCheckerInfo ( t * testing . T ) {
lc , cleanup := NewLogChecker ( log . DEFAULT , log . INFO )
2023-04-22 04:32:25 +08:00
defer cleanup ( )
lc . Filter ( "First" , "Third" ) . StopMark ( "End" )
log . Info ( "test" )
filtered , stopped := lc . Check ( 100 * time . Millisecond )
2023-04-22 23:56:27 +02:00
assert . ElementsMatch ( t , [ ] bool { false , false } , filtered )
assert . False ( t , stopped )
2023-04-22 04:32:25 +08:00
log . Info ( "First" )
2024-01-25 11:35:29 +01:00
log . Debug ( "Third" )
2023-04-22 04:32:25 +08:00
filtered , stopped = lc . Check ( 100 * time . Millisecond )
2023-04-22 23:56:27 +02:00
assert . ElementsMatch ( t , [ ] bool { true , false } , filtered )
assert . False ( t , stopped )
2023-04-22 04:32:25 +08:00
log . Info ( "Second" )
2024-01-25 11:35:29 +01:00
log . Debug ( "Third" )
2023-04-22 04:32:25 +08:00
filtered , stopped = lc . Check ( 100 * time . Millisecond )
2023-04-22 23:56:27 +02:00
assert . ElementsMatch ( t , [ ] bool { true , false } , filtered )
assert . False ( t , stopped )
2023-04-22 04:32:25 +08:00
log . Info ( "Third" )
filtered , stopped = lc . Check ( 100 * time . Millisecond )
2023-04-22 23:56:27 +02:00
assert . ElementsMatch ( t , [ ] bool { true , true } , filtered )
assert . False ( t , stopped )
2023-04-22 04:32:25 +08:00
log . Info ( "End" )
filtered , stopped = lc . Check ( 100 * time . Millisecond )
2023-04-22 23:56:27 +02:00
assert . ElementsMatch ( t , [ ] bool { true , true } , filtered )
assert . True ( t , stopped )
2023-04-22 04:32:25 +08:00
}
2024-01-25 11:35:29 +01:00
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 )
}