type runOncePair … func (pair runOncePair) isZero() bool { … } func runOncePairForNode(node Node, containerID uint) runOncePair { … } type runOncePairs … func runOncePairsForSpec(spec Spec) runOncePairs { … } func (pairs runOncePairs) runOncePairFor(nodeID uint) runOncePair { … } func (pairs runOncePairs) hasRunOncePair(pair runOncePair) bool { … } func (pairs runOncePairs) withType(nodeTypes types.NodeType) runOncePairs { … } type group … func newGroup(suite *Suite) *group { … } func (g *group) initialReportForSpec(spec Spec) types.SpecReport { … } func (g *group) evaluateSkipStatus(spec Spec) (types.SpecState, types.Failure) { … } func (g *group) isLastSpecWithPair(specID uint, pair runOncePair) bool { … } func (g *group) attemptSpec(isFinalAttempt bool, spec Spec) bool { … } func (g *group) run(specs Specs) { … }