예제 #1
0
 def _run_if_branch(self, data, recursive_dry_run=False, branch_run=False):
     result = IfResult(data.condition,
                       lineno=data.lineno,
                       source=data.source,
                       type=data.type)
     error = None
     with StatusReporter(self._context, result, self._run):
         if data.error and self._run:
             raise DataError(data.error)
         run = self._should_run_branch(data.condition, branch_run,
                                       recursive_dry_run)
         runner = BodyRunner(self._context,
                             run=run,
                             templated=self._templated)
         try:
             if not recursive_dry_run:
                 runner.run(data.body)
         except ExecutionStatus as err:
             error = err
         if run:
             branch_run = True
         else:
             result.branch_status = result.NOT_RUN
         if data.orelse:
             self._run_if_branch(data.orelse, recursive_dry_run, branch_run)
         if error:
             raise error
예제 #2
0
 def _run_if_branch(self, data, recursive_dry_run=False, branch_run=False):
     result = IfResult(data.condition, lineno=data.lineno, source=data.source,
                       type=data.type)
     with StatusReporter(self._context, result) as reporter:
         if data.error:
             raise DataError(data.error)
         if self._should_run_branch(data.condition, branch_run, recursive_dry_run):
             runner = StepRunner(self._context, self._templated)
             runner.run_steps(data.body)
             branch_run = True
         else:
             result.branch_status = 'NOT_RUN'
         if data.orelse:
             self._run_if_branch(data.orelse, recursive_dry_run, branch_run)