func (suite *Suite) generateSpecs(description string, config config.GinkgoConfigType) *spec.Specs { specsSlice := []*spec.Spec{} suite.topLevelContainer.BackPropagateProgrammaticFocus() for _, collatedNodes := range suite.topLevelContainer.Collate() { specsSlice = append(specsSlice, spec.New(collatedNodes.Subject, collatedNodes.Containers, config.EmitSpecProgress)) } specs := spec.NewSpecs(specsSlice) if config.RandomizeAllSpecs { specs.Shuffle(rand.New(rand.NewSource(config.RandomSeed))) } specs.ApplyFocus(description, config.FocusString, config.SkipString) if config.SkipMeasurements { specs.SkipMeasurements() } if config.ParallelTotal > 1 { specs.TrimForParallelization(config.ParallelTotal, config.ParallelNode) } return specs }
if fail { failer.Fail(text, codelocation.New(0)) } }, flag, codelocation.New(0), 0, failer, 0) return spec.New(subject, []*containernode.ContainerNode{}, false) } newSpecWithBody := func(text string, body interface{}) *spec.Spec { subject := leafnodes.NewItNode(text, body, noneFlag, codelocation.New(0), 0, failer, 0) return spec.New(subject, []*containernode.ContainerNode{}, false) } newRunner := func(config config.GinkgoConfigType, beforeSuiteNode leafnodes.SuiteNode, afterSuiteNode leafnodes.SuiteNode, specs ...*spec.Spec) *SpecRunner { return New("description", beforeSuiteNode, spec.NewSpecs(specs), afterSuiteNode, []reporters.Reporter{reporter1, reporter2}, writer, config) } BeforeEach(func() { reporter1 = reporters.NewFakeReporter() reporter2 = reporters.NewFakeReporter() writer = Writer.NewFake() failer = Failer.New() thingsThatRan = []string{} }) Describe("Running and Reporting", func() { var specA, pendingSpec, anotherPendingSpec, failedSpec, specB, skippedSpec *spec.Spec var willRunCalls, didCompleteCalls []string var conf config.GinkgoConfigType