175 lines
3.5 KiB
Go
175 lines
3.5 KiB
Go
package types
|
|
|
|
import (
|
|
"strconv"
|
|
"time"
|
|
)
|
|
|
|
const GINKGO_FOCUS_EXIT_CODE = 197
|
|
|
|
/*
|
|
SuiteSummary represents the a summary of the test suite and is passed to both
|
|
Reporter.SpecSuiteWillBegin
|
|
Reporter.SpecSuiteDidEnd
|
|
|
|
this is unfortunate as these two methods should receive different objects. When running in parallel
|
|
each node does not deterministically know how many specs it will end up running.
|
|
|
|
Unfortunately making such a change would break backward compatibility.
|
|
|
|
Until Ginkgo 2.0 comes out we will continue to reuse this struct but populate unknown fields
|
|
with -1.
|
|
*/
|
|
type SuiteSummary struct {
|
|
SuiteDescription string
|
|
SuiteSucceeded bool
|
|
SuiteID string
|
|
|
|
NumberOfSpecsBeforeParallelization int
|
|
NumberOfTotalSpecs int
|
|
NumberOfSpecsThatWillBeRun int
|
|
NumberOfPendingSpecs int
|
|
NumberOfSkippedSpecs int
|
|
NumberOfPassedSpecs int
|
|
NumberOfFailedSpecs int
|
|
// Flaked specs are those that failed initially, but then passed on a
|
|
// subsequent try.
|
|
NumberOfFlakedSpecs int
|
|
RunTime time.Duration
|
|
}
|
|
|
|
type SpecSummary struct {
|
|
ComponentTexts []string
|
|
ComponentCodeLocations []CodeLocation
|
|
|
|
State SpecState
|
|
RunTime time.Duration
|
|
Failure SpecFailure
|
|
IsMeasurement bool
|
|
NumberOfSamples int
|
|
Measurements map[string]*SpecMeasurement
|
|
|
|
CapturedOutput string
|
|
SuiteID string
|
|
}
|
|
|
|
func (s SpecSummary) HasFailureState() bool {
|
|
return s.State.IsFailure()
|
|
}
|
|
|
|
func (s SpecSummary) TimedOut() bool {
|
|
return s.State == SpecStateTimedOut
|
|
}
|
|
|
|
func (s SpecSummary) Panicked() bool {
|
|
return s.State == SpecStatePanicked
|
|
}
|
|
|
|
func (s SpecSummary) Failed() bool {
|
|
return s.State == SpecStateFailed
|
|
}
|
|
|
|
func (s SpecSummary) Passed() bool {
|
|
return s.State == SpecStatePassed
|
|
}
|
|
|
|
func (s SpecSummary) Skipped() bool {
|
|
return s.State == SpecStateSkipped
|
|
}
|
|
|
|
func (s SpecSummary) Pending() bool {
|
|
return s.State == SpecStatePending
|
|
}
|
|
|
|
type SetupSummary struct {
|
|
ComponentType SpecComponentType
|
|
CodeLocation CodeLocation
|
|
|
|
State SpecState
|
|
RunTime time.Duration
|
|
Failure SpecFailure
|
|
|
|
CapturedOutput string
|
|
SuiteID string
|
|
}
|
|
|
|
type SpecFailure struct {
|
|
Message string
|
|
Location CodeLocation
|
|
ForwardedPanic string
|
|
|
|
ComponentIndex int
|
|
ComponentType SpecComponentType
|
|
ComponentCodeLocation CodeLocation
|
|
}
|
|
|
|
type SpecMeasurement struct {
|
|
Name string
|
|
Info interface{}
|
|
Order int
|
|
|
|
Results []float64
|
|
|
|
Smallest float64
|
|
Largest float64
|
|
Average float64
|
|
StdDeviation float64
|
|
|
|
SmallestLabel string
|
|
LargestLabel string
|
|
AverageLabel string
|
|
Units string
|
|
Precision int
|
|
}
|
|
|
|
func (s SpecMeasurement) PrecisionFmt() string {
|
|
if s.Precision == 0 {
|
|
return "%f"
|
|
}
|
|
|
|
str := strconv.Itoa(s.Precision)
|
|
|
|
return "%." + str + "f"
|
|
}
|
|
|
|
type SpecState uint
|
|
|
|
const (
|
|
SpecStateInvalid SpecState = iota
|
|
|
|
SpecStatePending
|
|
SpecStateSkipped
|
|
SpecStatePassed
|
|
SpecStateFailed
|
|
SpecStatePanicked
|
|
SpecStateTimedOut
|
|
)
|
|
|
|
func (state SpecState) IsFailure() bool {
|
|
return state == SpecStateTimedOut || state == SpecStatePanicked || state == SpecStateFailed
|
|
}
|
|
|
|
type SpecComponentType uint
|
|
|
|
const (
|
|
SpecComponentTypeInvalid SpecComponentType = iota
|
|
|
|
SpecComponentTypeContainer
|
|
SpecComponentTypeBeforeSuite
|
|
SpecComponentTypeAfterSuite
|
|
SpecComponentTypeBeforeEach
|
|
SpecComponentTypeJustBeforeEach
|
|
SpecComponentTypeJustAfterEach
|
|
SpecComponentTypeAfterEach
|
|
SpecComponentTypeIt
|
|
SpecComponentTypeMeasure
|
|
)
|
|
|
|
type FlagType uint
|
|
|
|
const (
|
|
FlagTypeNone FlagType = iota
|
|
FlagTypeFocused
|
|
FlagTypePending
|
|
)
|