func (e *specExecutor) getSkippedScenarioResult(scenario *gauge.Scenario) *result.ScenarioResult { scenarioResult := &result.ScenarioResult{ProtoScenario: gauge.NewProtoScenario(scenario)} e.addAllItemsForScenarioExecution(scenario, scenarioResult) setSkipInfoInResult(scenarioResult, scenario, e.errMap) e.specResult.ScenarioSkippedCount++ return scenarioResult }
func (e *specExecutor) executeScenario(scenario *gauge.Scenario) *result.ScenarioResult { e.currentExecutionInfo.CurrentScenario = &gauge_messages.ScenarioInfo{ Name: proto.String(scenario.Heading.Value), Tags: getTagValue(scenario.Tags), IsFailed: proto.Bool(false), } scenarioResult := &result.ScenarioResult{ProtoScenario: gauge.NewProtoScenario(scenario)} e.addAllItemsForScenarioExecution(scenario, scenarioResult) scenarioExec := newScenarioExecutor(e.runner, e.pluginHandler, e.currentExecutionInfo, e.consoleReporter, e.errMap) scenarioExec.execute(scenarioResult, scenario) if scenarioResult.ProtoScenario.GetSkipped() { e.specResult.ScenarioSkippedCount++ } return scenarioResult }
func (e *specExecutor) executeScenario(scenario *gauge.Scenario) *result.ScenarioResult { e.currentExecutionInfo.CurrentScenario = &gauge_messages.ScenarioInfo{ Name: proto.String(scenario.Heading.Value), Tags: getTagValue(scenario.Tags), IsFailed: proto.Bool(false), } scenarioResult := &result.ScenarioResult{ProtoScenario: gauge.NewProtoScenario(scenario)} e.addAllItemsForScenarioExecution(scenario, scenarioResult) scenarioResult.ProtoScenario.Skipped = proto.Bool(false) if _, ok := e.errMap.ScenarioErrs[scenario]; ok { e.setSkipInfoInResult(scenarioResult, scenario) return scenarioResult } 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 scenarioResult } e.consoleReporter.ScenarioStart(scenario.Heading.Value) e.notifyBeforeScenarioHook(scenarioResult) if !e.specResult.IsFailed { stepExec := newStepExecutor(e.runner, e.pluginHandler, e.currentExecutionInfo, e.consoleReporter) stepExec.execute(scenarioResult) } e.notifyAfterScenarioHook(scenarioResult) scenarioResult.UpdateExecutionTime() e.consoleReporter.ScenarioEnd(scenarioResult.GetFailure()) return scenarioResult }
func (e *specExecutor) executeScenario(scenario *gauge.Scenario) *result.ScenarioResult { e.currentExecutionInfo.CurrentScenario = &gauge_messages.ScenarioInfo{Name: proto.String(scenario.Heading.Value), Tags: getTagValue(scenario.Tags), IsFailed: proto.Bool(false)} scenarioResult := &result.ScenarioResult{ProtoScenario: gauge.NewProtoScenario(scenario)} e.addAllItemsForScenarioExecution(scenario, scenarioResult) scenarioResult.ProtoScenario.Skipped = proto.Bool(false) if _, ok := e.errMap.scenarioErrs[scenario]; ok { e.setSkipInfoInResult(scenarioResult, scenario) return scenarioResult } err := e.initScenarioDataStore() if err != nil { e.handleScenarioDataStoreFailure(scenarioResult, scenario, err) return scenarioResult } e.consoleReporter.ScenarioStart(scenario.Heading.Value) beforeHookExecutionStatus := e.executeBeforeScenarioHook(scenarioResult) if beforeHookExecutionStatus.GetFailed() { handleHookFailure(scenarioResult, beforeHookExecutionStatus, result.AddPreHook, e.consoleReporter) setScenarioFailure(e.currentExecutionInfo) } else { e.executeContextItems(scenarioResult) if !scenarioResult.GetFailure() { e.executeScenarioItems(scenarioResult) } e.executeTearDownItems(scenarioResult) } afterHookExecutionStatus := e.executeAfterScenarioHook(scenarioResult) scenarioResult.UpdateExecutionTime() if afterHookExecutionStatus.GetFailed() { handleHookFailure(scenarioResult, afterHookExecutionStatus, result.AddPostHook, e.consoleReporter) setScenarioFailure(e.currentExecutionInfo) } e.consoleReporter.ScenarioEnd(scenarioResult.GetFailure()) return scenarioResult }