func (executor *specExecutor) setExecutionResultForConcept(protoConcept *gauge_messages.ProtoConcept) { var conceptExecutionTime int64 for _, step := range protoConcept.GetSteps() { if step.GetItemType() == gauge_messages.ProtoItem_Concept { stepExecResult := step.GetConcept().GetConceptExecutionResult().GetExecutionResult() conceptExecutionTime += stepExecResult.GetExecutionTime() if step.GetConcept().GetConceptExecutionResult().GetExecutionResult().GetFailed() { conceptExecutionResult := &gauge_messages.ProtoStepExecutionResult{ExecutionResult: step.GetConcept().GetConceptExecutionResult().GetExecutionResult(), Skipped: proto.Bool(false)} conceptExecutionResult.ExecutionResult.ExecutionTime = proto.Int64(conceptExecutionTime) protoConcept.ConceptExecutionResult = conceptExecutionResult protoConcept.ConceptStep.StepExecutionResult = conceptExecutionResult return } } else if step.GetItemType() == gauge_messages.ProtoItem_Step { stepExecResult := step.GetStep().GetStepExecutionResult().GetExecutionResult() conceptExecutionTime += stepExecResult.GetExecutionTime() if stepExecResult.GetFailed() { conceptExecutionResult := &gauge_messages.ProtoStepExecutionResult{ExecutionResult: stepExecResult, Skipped: proto.Bool(false)} conceptExecutionResult.ExecutionResult.ExecutionTime = proto.Int64(conceptExecutionTime) protoConcept.ConceptExecutionResult = conceptExecutionResult protoConcept.ConceptStep.StepExecutionResult = conceptExecutionResult return } } } protoConcept.ConceptExecutionResult = &gauge_messages.ProtoStepExecutionResult{ExecutionResult: &gauge_messages.ProtoExecutionResult{Failed: proto.Bool(false), ExecutionTime: proto.Int64(conceptExecutionTime)}} protoConcept.ConceptStep.StepExecutionResult = protoConcept.ConceptExecutionResult protoConcept.ConceptStep.StepExecutionResult.Skipped = proto.Bool(false) }
func checkConceptParameterValuesInOrder(c *C, concept *gauge_messages.ProtoConcept, paramValues ...string) { params := getParameters(concept.GetConceptStep().Fragments) c.Assert(len(params), Equals, len(paramValues)) for i, param := range params { c.Assert(param.GetValue(), Equals, paramValues[i]) } }
func (executor *specExecutor) executeConcept(protoConcept *gauge_messages.ProtoConcept) bool { executor.logger.Info("Executing Concept: %s", formatter.FormatConcept(protoConcept)) for _, step := range protoConcept.Steps { failure := executor.executeItem(step) executor.setExecutionResultForConcept(protoConcept) if failure { return true } } return protoConcept.GetConceptExecutionResult().GetExecutionResult().GetFailed() }
func (executor *specExecutor) executeConcept(protoConcept *gauge_messages.ProtoConcept) bool { executor.writer.ConceptStarting(protoConcept) for _, step := range protoConcept.Steps { failure := executor.executeItem(step) executor.setExecutionResultForConcept(protoConcept) if failure { return true } } executor.writer.ConceptFinished(protoConcept) return protoConcept.GetConceptExecutionResult().GetExecutionResult().GetFailed() }
func (executor *specExecutor) executeConcept(protoConcept *gauge_messages.ProtoConcept) bool { executor.consoleReporter.ConceptStart(formatter.FormatConcept(protoConcept)) for _, step := range protoConcept.Steps { failure := executor.executeItem(step) executor.setExecutionResultForConcept(protoConcept) if failure { return true } } conceptFailed := protoConcept.GetConceptExecutionResult().GetExecutionResult().GetFailed() executor.consoleReporter.ConceptEnd(conceptFailed) return conceptFailed }
func (e *scenarioExecutor) executeConcept(protoConcept *gauge_messages.ProtoConcept) *gauge_messages.ProtoStepExecutionResult { e.consoleReporter.ConceptStart(formatter.FormatConcept(protoConcept)) for _, step := range protoConcept.Steps { res := e.executeItem(step) e.setExecutionResultForConcept(protoConcept) if res.GetExecutionResult().GetFailed() { return protoConcept.GetConceptExecutionResult() } } conceptFailed := protoConcept.GetConceptExecutionResult().GetExecutionResult().GetFailed() e.consoleReporter.ConceptEnd(conceptFailed) return protoConcept.GetConceptExecutionResult() }