code.gitea.io/gitea@v1.22.3/modules/test/logchecker_test.go (about) 1 // Copyright 2023 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package test 5 6 import ( 7 "testing" 8 "time" 9 10 "code.gitea.io/gitea/modules/log" 11 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestLogChecker(t *testing.T) { 16 lc, cleanup := NewLogChecker(log.DEFAULT) 17 defer cleanup() 18 19 lc.Filter("First", "Third").StopMark("End") 20 log.Info("test") 21 22 filtered, stopped := lc.Check(100 * time.Millisecond) 23 assert.ElementsMatch(t, []bool{false, false}, filtered) 24 assert.False(t, stopped) 25 26 log.Info("First") 27 filtered, stopped = lc.Check(100 * time.Millisecond) 28 assert.ElementsMatch(t, []bool{true, false}, filtered) 29 assert.False(t, stopped) 30 31 log.Info("Second") 32 filtered, stopped = lc.Check(100 * time.Millisecond) 33 assert.ElementsMatch(t, []bool{true, false}, filtered) 34 assert.False(t, stopped) 35 36 log.Info("Third") 37 filtered, stopped = lc.Check(100 * time.Millisecond) 38 assert.ElementsMatch(t, []bool{true, true}, filtered) 39 assert.False(t, stopped) 40 41 log.Info("End") 42 filtered, stopped = lc.Check(100 * time.Millisecond) 43 assert.ElementsMatch(t, []bool{true, true}, filtered) 44 assert.True(t, stopped) 45 }