def _run_step(self, step, step_name):
        method, message_template, args = step
        message = self._get_message_with_values_based_on_template(message_template, args)
        if hasattr(method, 'pending'):
            self._pendings.append(method)
            self._output_writer.output_pending_step_line(step_name,
                                                         message,
                                                         self._pending_color)
            return
        try:
            method(self, *args)
            self._output_writer.output_ok_step_line(step_name,
                                                    message,
                                                    'green')
        except __HOLE__, e:
            self._failures.append(self._get_traceback_info())
            self._output_writer.output_fail_step_line(step_name,
                                                     message,
                                                     self._failure_color)
        except Exception, e:
            self._errors.append(self._get_traceback_info())
            self._output_writer.output_error_step_line(step_name,
                                                       message,
                                                       self._error_color)
dataset/ETHPy150Open hltbra/pyhistorian/pyhistorian/scenario.py/Scenario._run_step