~juju/pyjuju/go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package log_test

import (
	"bytes"
	. "launchpad.net/gocheck"
	"launchpad.net/juju/go/log"
	stdlog "log"
	"testing"
)

func Test(t *testing.T) {
	TestingT(t)
}

type suite struct{}

var _ = Suite(suite{})

type logTest struct {
	input string
	debug bool
}

var logTests = []struct {
	input string
	debug bool
}{
	{
		input: "Hello World",
		debug: false,
	},
	{
		input: "Hello World",
		debug: true,
	},
}

func (suite) TestLogger(c *C) {
	buf := &bytes.Buffer{}
	log.Target = stdlog.New(buf, "", 0)
	for _, t := range logTests {
		log.Debug = t.debug
		log.Printf(t.input)
		c.Assert(buf.String(), Equals, "JUJU "+t.input+"\n")
		buf.Reset()
		log.Debugf(t.input)
		if t.debug {
			c.Assert(buf.String(), Equals, "JUJU:DEBUG "+t.input+"\n")
		} else {
			c.Assert(buf.String(), Equals, "")
		}
		buf.Reset()
	}
}