d53bedb1b7
A little refactor of the ./pkg/log so engine can have a logger instance Signed-off-by: Vincent Batts <vbatts@redhat.com>
39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
package log
|
|
|
|
import (
|
|
"bytes"
|
|
"regexp"
|
|
|
|
"testing"
|
|
)
|
|
|
|
var reRFC3339NanoFixed = "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{9}.([0-9]{2}:[0-9]{2})?"
|
|
|
|
func TestLogFatalf(t *testing.T) {
|
|
var output *bytes.Buffer
|
|
|
|
tests := []struct {
|
|
Level priority
|
|
Format string
|
|
Values []interface{}
|
|
ExpectedPattern string
|
|
}{
|
|
{fatalPriority, "%d + %d = %d", []interface{}{1, 1, 2}, "\\[" + reRFC3339NanoFixed + "\\] \\[fatal\\] testing.go:\\d+ 1 \\+ 1 = 2"},
|
|
{errorPriority, "%d + %d = %d", []interface{}{1, 1, 2}, "\\[" + reRFC3339NanoFixed + "\\] \\[error\\] testing.go:\\d+ 1 \\+ 1 = 2"},
|
|
{infoPriority, "%d + %d = %d", []interface{}{1, 1, 2}, "\\[" + reRFC3339NanoFixed + "\\] \\[info\\] 1 \\+ 1 = 2"},
|
|
{debugPriority, "%d + %d = %d", []interface{}{1, 1, 2}, "\\[" + reRFC3339NanoFixed + "\\] \\[debug\\] testing.go:\\d+ 1 \\+ 1 = 2"},
|
|
}
|
|
|
|
for i, test := range tests {
|
|
output = &bytes.Buffer{}
|
|
DefaultLogger.logf(output, test.Level, test.Format, test.Values...)
|
|
|
|
expected := regexp.MustCompile(test.ExpectedPattern)
|
|
if !expected.MatchString(output.String()) {
|
|
t.Errorf("[%d] Log output does not match expected pattern:\n\tExpected: %s\n\tOutput: %s",
|
|
i,
|
|
expected.String(),
|
|
output.String())
|
|
}
|
|
}
|
|
}
|