// Copyright (c) 2015-2016 The btcsuite developers
// Use of this source code is governed by an ISC
// license that can be found in the LICENSE file.
package database_test
import (
"errors"
"io"
"os"
"testing"
"github.com/btcsuite/btcd/database"
)
// TestSetLogWriter ensures the
func TestSetLogWriter(t *testing.T) {
tests := []struct {
name string
w io.Writer
level string
expected error
}{
{
name: "nil writer",
w: nil,
level: "trace",
expected: errors.New("nil writer"),
},
name: "invalid log level",
w: os.Stdout,
level: "wrong",
expected: errors.New("invalid log level"),
name: "use off level",
level: "off",
expected: errors.New("min level can't be greater than max. Got min: 6, max: 5"),
name: "pass",
level: "debug",
expected: nil,
}
t.Logf("Running %d tests", len(tests))
for i, test := range tests {
err := database.SetLogWriter(test.w, test.level)
if err != nil {
if err.Error() != test.expected.Error() {
t.Errorf("SetLogWriter #%d (%s) wrong result\n"+
"got: %v\nwant: %v", i, test.name, err,
test.expected)
} else {
if test.expected != nil {