mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-21 12:16:44 +00:00
add test subpkg for testing utils
This commit is contained in:
parent
630a0b6748
commit
90fb2d9ef9
1 changed files with 78 additions and 0 deletions
78
bzz/test/logger.go
Normal file
78
bzz/test/logger.go
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
package test
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
"github.com/ethereum/go-ethereum/logger"
|
||||
)
|
||||
|
||||
var once sync.Once
|
||||
|
||||
/* usage:
|
||||
func TestFunc(t *testing.T) {
|
||||
test.LogInit()
|
||||
// test
|
||||
}
|
||||
*/
|
||||
func LogInit() {
|
||||
once.Do(func() {
|
||||
var logsys = logger.NewStdLogSystem(os.Stdout, log.LstdFlags, logger.LogLevel(logger.DebugDetailLevel))
|
||||
logger.AddLogSystem(logsys)
|
||||
})
|
||||
}
|
||||
|
||||
type testLogger struct{ t *testing.T }
|
||||
|
||||
/* usage:
|
||||
func TestFunc(t *testing.T) {
|
||||
defer test.Testlog.Detach()
|
||||
// test
|
||||
}
|
||||
*/
|
||||
func Testlog(t *testing.T) testLogger {
|
||||
logger.Reset()
|
||||
l := testLogger{t}
|
||||
logger.AddLogSystem(l)
|
||||
return l
|
||||
}
|
||||
|
||||
func (testLogger) GetLogLevel() logger.LogLevel { return logger.DebugLevel }
|
||||
func (testLogger) SetLogLevel(logger.LogLevel) {}
|
||||
|
||||
func (l testLogger) LogPrint(level logger.LogLevel, msg string) {
|
||||
l.t.Logf("%s", msg)
|
||||
}
|
||||
|
||||
func (testLogger) Detach() {
|
||||
logger.Flush()
|
||||
logger.Reset()
|
||||
}
|
||||
|
||||
type benchLogger struct{ b *testing.B }
|
||||
|
||||
/* usage:
|
||||
func BenchmarkFunc(b *testing.B) {
|
||||
defer test.Benchlog.Detach()
|
||||
// test
|
||||
}
|
||||
*/
|
||||
func Benchlog(b *testing.B) benchLogger {
|
||||
logger.Reset()
|
||||
l := benchLogger{b}
|
||||
logger.AddLogSystem(l)
|
||||
return l
|
||||
}
|
||||
|
||||
func (benchLogger) GetLogLevel() logger.LogLevel { return logger.Silence }
|
||||
|
||||
func (benchLogger) SetLogLevel(logger.LogLevel) {}
|
||||
func (l benchLogger) LogPrint(level logger.LogLevel, msg string) {
|
||||
l.b.Logf("%s", msg)
|
||||
}
|
||||
func (benchLogger) Detach() {
|
||||
logger.Flush()
|
||||
logger.Reset()
|
||||
}
|
||||
Loading…
Reference in a new issue