Beispiel #1
0
func (e *stepExecutor) execute(scenarioResult *result.ScenarioResult) {
	e.executeContextSteps(scenarioResult)
	if !scenarioResult.GetFailure() {
		e.executeScenarioSteps(scenarioResult)
	}
	e.executeTearDownSteps(scenarioResult)
}
Beispiel #2
0
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())
}
Beispiel #3
0
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))
}
Beispiel #4
0
func (executor *specExecutor) executeScenarioItems(scenarioResult *result.ScenarioResult) {
	failure := executor.executeItems(scenarioResult.ProtoScenario.GetScenarioItems())
	if failure {
		scenarioResult.SetFailure()
	}
}
Beispiel #5
0
func (executor *specExecutor) executeTearDownItems(scenarioResult *result.ScenarioResult) {
	failure := executor.executeItems(scenarioResult.ProtoScenario.TearDownSteps)
	if failure {
		scenarioResult.SetFailure()
	}
}
Beispiel #6
0
func (e *scenarioExecutor) executeScenarioSteps(scenarioResult *result.ScenarioResult) {
	failure := e.executeItems(scenarioResult.ProtoScenario.GetScenarioItems())
	if failure {
		scenarioResult.SetFailure()
	}
}
Beispiel #7
0
func (e *specExecutor) executeContextItems(scenarioResult *result.ScenarioResult) {
	failure := e.executeItems(scenarioResult.ProtoScenario.GetContexts())
	if failure {
		scenarioResult.SetFailure()
	}
}
Beispiel #8
0
func (executor *specExecutor) addAllItemsForScenarioExecution(scenario *parser.Scenario, scenarioResult *result.ScenarioResult) {
	scenarioResult.AddContexts(executor.getContextItemsForScenarioExecution(executor.specification))
	scenarioResult.AddItems(executor.resolveItems(scenario.Items))
}