aboutsummaryrefslogtreecommitdiffstats
path: root/internal
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2019-04-30 19:12:11 +0800
committerFelix Lange <fjl@twurst.com>2019-04-30 19:12:11 +0800
commita43ec8bba5e654d4279bdb05561a11b797d6c5a3 (patch)
tree9983169c3b72cd50bd92af2f565e099859f533bd /internal
parent504f88b65b8e68b7c6cd0507c9788b6518d7cc1b (diff)
downloadgo-tangerine-a43ec8bba5e654d4279bdb05561a11b797d6c5a3.tar
go-tangerine-a43ec8bba5e654d4279bdb05561a11b797d6c5a3.tar.gz
go-tangerine-a43ec8bba5e654d4279bdb05561a11b797d6c5a3.tar.bz2
go-tangerine-a43ec8bba5e654d4279bdb05561a11b797d6c5a3.tar.lz
go-tangerine-a43ec8bba5e654d4279bdb05561a11b797d6c5a3.tar.xz
go-tangerine-a43ec8bba5e654d4279bdb05561a11b797d6c5a3.tar.zst
go-tangerine-a43ec8bba5e654d4279bdb05561a11b797d6c5a3.zip
internal/testlog: add logger for unit tests
Diffstat (limited to 'internal')
-rw-r--r--internal/testlog/testlog.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/internal/testlog/testlog.go b/internal/testlog/testlog.go
new file mode 100644
index 000000000..ffe0546fe
--- /dev/null
+++ b/internal/testlog/testlog.go
@@ -0,0 +1,46 @@
+// Copyright 2017 The go-ethereum Authors
+// This file is part of the go-ethereum library.
+//
+// The go-ethereum library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// The go-ethereum library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
+
+// Package testlog provides a log handler for unit tests.
+package testlog
+
+import (
+ "testing"
+
+ "github.com/ethereum/go-ethereum/log"
+)
+
+// Logger returns a logger which logs to the unit test log of t.
+func Logger(t *testing.T, level log.Lvl) log.Logger {
+ l := log.New()
+ l.SetHandler(Handler(t, level))
+ return l
+}
+
+// Handler returns a log handler which logs to the unit test log of t.
+func Handler(t *testing.T, level log.Lvl) log.Handler {
+ return log.LvlFilterHandler(level, &handler{t, log.TerminalFormat(false)})
+}
+
+type handler struct {
+ t *testing.T
+ fmt log.Format
+}
+
+func (h *handler) Log(r *log.Record) error {
+ h.t.Logf("%s", h.fmt.Format(r))
+ return nil
+}