gotestevent

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HighlightErrorOutput

func HighlightErrorOutput(te *GoTestEvent, _ *TestLogModifierConfig) error

func JsonTestOutputToStandard

func JsonTestOutputToStandard(te *GoTestEvent, c *TestLogModifierConfig) error

JsonTestOutputToStandard is a TestLogModifier that takes a GoTestEvent and modifies the output as configured

func ReadAndModifyLogs

func ReadAndModifyLogs(ctx context.Context, r io.Reader, modifiers []TestLogModifier, c *TestLogModifierConfig) error

func RemoveTestLogPrefix

func RemoveTestLogPrefix(te *GoTestEvent, _ *TestLogModifierConfig) error

RemoveTestLogPrefix is a TestLogModifier that takes a GoTestEvent and removes the test log prefix

func SliceContains

func SliceContains[T comparable](slice []T, item T) bool

SliceContains checks if a slice contains a given item

func StartGroupFail

func StartGroupFail(title string, c *TestLogModifierConfig, hasLogs bool)

StartGroupFail starts a group in the CI environment with a red title

func StartGroupPass

func StartGroupPass(title string, c *TestLogModifierConfig, hasLogs bool)

StartGroupPass starts a group in the CI environment with a green title

func StartGroupSkip

func StartGroupSkip(title string, c *TestLogModifierConfig, hasLogs bool)

StartGroupSkip starts a group in the CI environment with a green title

Types

type Action

type Action string
const (
	ActionRun    Action = "run"
	ActionPass   Action = "pass"
	ActionFail   Action = "fail"
	ActionOutput Action = "output"
	ActionSkip   Action = "skip"
	ActionStart  Action = "start"
	ActionPause  Action = "pause"
	ActionCont   Action = "cont"
)

type GoTestEvent

type GoTestEvent struct {
	Time    time.Time `json:"Time,omitempty"`
	Action  Action    `json:"Action,omitempty"`
	Package string    `json:"Package,omitempty"`
	Test    string    `json:"Test,omitempty"`
	Output  string    `json:"Output,omitempty"`
	Elapsed float64   `json:"Elapsed,omitempty"`
}

Representation of a go test -json event

func ParseTestEvent

func ParseTestEvent(b []byte) (*GoTestEvent, error)

parseTestEvent parses a byte slice into a TestEvent

func (GoTestEvent) Print

func (gte GoTestEvent) Print()

Print prints the GoTestEvent to the console

func (GoTestEvent) String

func (gte GoTestEvent) String() (string, error)

String returns the JSON string representation of the GoTestEvent

type Test

type Test struct {
	Name     string
	Logs     []GoTestEvent
	Status   TestStatus
	Complete bool
	HasPanic bool
	Elapsed  float64
}

type Test []GoTestEvent

func (*Test) Print

func (t *Test) Print(c *TestLogModifierConfig)

Print prints the Test to the console

type TestLogModifier

type TestLogModifier func(*GoTestEvent, *TestLogModifierConfig) error

TestLogModifier is a generic function interface that modifies a GoTestEvent

func SetupModifiers

func SetupModifiers(c *TestLogModifierConfig) []TestLogModifier

SetupModifiers sets up the modifiers based on the flags provided

type TestLogModifierConfig

type TestLogModifierConfig struct {
	IsJsonInput            *bool
	RemoveTLogPrefix       *bool
	HidePassingTests       *clihelper.BoolFlag
	HidePassingLogs        *bool
	OnlyErrors             *clihelper.BoolFlag
	Color                  *bool
	CI                     *bool
	SinglePackage          *bool
	ShouldImmediatelyPrint bool
	TestPackageMap         TestPackageMap
	FailuresExist          bool
	ErrorAtTopLength       *int
}

func NewDefaultConfig

func NewDefaultConfig() *TestLogModifierConfig

func (*TestLogModifierConfig) Validate

func (c *TestLogModifierConfig) Validate() error

ValidateConfig validates the TestLogModifierConfig does not have any invalid combinations

type TestPackage

type TestPackage struct {
	Name        string
	NonTestLogs []GoTestEvent
	Tests       map[string]*Test
	TestOrder   []string
	Failed      bool
	Elapsed     float64
	Message     string
}

func (*TestPackage) AddTestEvent

func (p *TestPackage) AddTestEvent(te *GoTestEvent) *Test

func (*TestPackage) Print

func (p *TestPackage) Print(c *TestLogModifierConfig)

Print prints the TestPackage to the console

func (TestPackage) ShouldPrintTest

func (p TestPackage) ShouldPrintTest(test Test, c *TestLogModifierConfig) bool

type TestPackageMap

type TestPackageMap map[string]*TestPackage

func (TestPackageMap) InitPackageInMap

func (m TestPackageMap) InitPackageInMap(packageName string)

type TestStatus added in v1.0.5

type TestStatus string
const (
	TestStatusPass TestStatus = TestStatus(ActionPass)
	TestStatusFail TestStatus = TestStatus(ActionFail)
	TestStatusSkip TestStatus = TestStatus(ActionSkip)
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL