func (e *stepExecutor) execute(scenarioResult *result.ScenarioResult) { e.executeContextSteps(scenarioResult) if !scenarioResult.GetFailure() { e.executeScenarioSteps(scenarioResult) } e.executeTearDownSteps(scenarioResult) }
func (e *scenarioExecutor) execute(scenarioResult *result.ScenarioResult, scenario *gauge.Scenario) { scenarioResult.ProtoScenario.Skipped = proto.Bool(false) if _, ok := e.errMap.ScenarioErrs[scenario]; ok { setSkipInfoInResult(scenarioResult, scenario, e.errMap) return } res := e.initScenarioDataStore() if res.GetFailed() { e.consoleReporter.Errorf("Failed to initialize scenario datastore. Error: %s", res.GetErrorMessage()) e.handleScenarioDataStoreFailure(scenarioResult, scenario, fmt.Errorf(res.GetErrorMessage())) return } e.consoleReporter.ScenarioStart(scenarioResult.ProtoScenario.GetScenarioHeading()) e.notifyBeforeScenarioHook(scenarioResult) if !scenarioResult.ProtoScenario.GetFailed() { e.executeContextSteps(scenarioResult) if !scenarioResult.GetFailure() { e.executeScenarioSteps(scenarioResult) } e.executeTearDownSteps(scenarioResult) } e.notifyAfterScenarioHook(scenarioResult) scenarioResult.UpdateExecutionTime() e.consoleReporter.ScenarioEnd(scenarioResult.GetFailure()) }
func (e *specExecutor) addAllItemsForScenarioExecution(scenario *gauge.Scenario, scenarioResult *result.ScenarioResult) { scenarioResult.AddContexts(e.getContextItemsForScenarioExecution(e.specification.Contexts)) scenarioResult.AddTearDownSteps(e.getContextItemsForScenarioExecution(e.specification.TearDownSteps)) scenarioResult.AddItems(e.resolveItems(scenario.Items)) }
func (executor *specExecutor) executeScenarioItems(scenarioResult *result.ScenarioResult) { failure := executor.executeItems(scenarioResult.ProtoScenario.GetScenarioItems()) if failure { scenarioResult.SetFailure() } }
func (executor *specExecutor) executeTearDownItems(scenarioResult *result.ScenarioResult) { failure := executor.executeItems(scenarioResult.ProtoScenario.TearDownSteps) if failure { scenarioResult.SetFailure() } }
func (e *scenarioExecutor) executeScenarioSteps(scenarioResult *result.ScenarioResult) { failure := e.executeItems(scenarioResult.ProtoScenario.GetScenarioItems()) if failure { scenarioResult.SetFailure() } }
func (e *specExecutor) executeContextItems(scenarioResult *result.ScenarioResult) { failure := e.executeItems(scenarioResult.ProtoScenario.GetContexts()) if failure { scenarioResult.SetFailure() } }
func (executor *specExecutor) addAllItemsForScenarioExecution(scenario *parser.Scenario, scenarioResult *result.ScenarioResult) { scenarioResult.AddContexts(executor.getContextItemsForScenarioExecution(executor.specification)) scenarioResult.AddItems(executor.resolveItems(scenario.Items)) }