github.com/darmach/terratest@v0.34.8-0.20210517103231-80931f95e3ff/modules/logger/parser/helpers_for_test.go (about) 1 package parser 2 3 import ( 4 "bytes" 5 "fmt" 6 "io/ioutil" 7 "strings" 8 "testing" 9 "time" 10 11 "github.com/sirupsen/logrus" 12 ) 13 14 func NewTestLogger(t *testing.T) *logrus.Logger { 15 logger := logrus.New() 16 logger.SetFormatter(&LogTestFormatter{TestName: t.Name()}) 17 return logger 18 } 19 20 type LogTestFormatter struct { 21 TestName string 22 } 23 24 func (formatter *LogTestFormatter) Format(entry *logrus.Entry) ([]byte, error) { 25 b := bytes.Buffer{} 26 outStr := fmt.Sprintf( 27 "%s %s %s %s\n", 28 formatter.TestName, 29 strings.ToUpper(entry.Level.String()), 30 entry.Time.Format(time.RFC3339), 31 entry.Message, 32 ) 33 b.WriteString(outStr) 34 return b.Bytes(), nil 35 } 36 37 func getTempDir(t *testing.T) string { 38 dir, err := ioutil.TempDir("", t.Name()) 39 if err != nil { 40 t.Fatal(err) 41 } 42 return dir 43 }