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  }