Ejemplo n.º 1
0
 def print_step(self, step, result):
     # Copy-pasted from RuleBasedStateMachine.print_step in order to add
     # the await statement.
     # https://github.com/HypothesisWorks/hypothesis/blob/47f82a1cc02aec5ee4d95a21df5a6eecc4aa1047/hypothesis-python/src/hypothesis/stateful.py#L806-L830
     rule, data = step
     data_repr = {}
     for k, v in data.items():
         data_repr[k] = self._RuleBasedStateMachine__pretty(v)
     self.step_count = getattr(self, "step_count", 0) + 1
     # If the step has target bundles, and the result is a MultipleResults
     # then we want to assign to multiple variables.
     if isinstance(result, MultipleResults):
         n_output_vars = len(result.values)
     else:
         n_output_vars = 1
     output_assignment = (
         "%s = " % (", ".join(self.last_names(n_output_vars)),)
         if rule.targets and n_output_vars >= 1 else ""
     )
     report(
         "    %sawait state.%s(%s)" % (
             output_assignment,
             rule.function.__name__,
             ", ".join("%s=%s" % kv for kv in data_repr.items()),
         )
     )
Ejemplo n.º 2
0
 def print_step(self, step):
     rule, data = step
     data_repr = {}
     for k, v in data.items():
         data_repr[k] = self._RuleBasedStateMachine__pretty(v)
     self.step_count = getattr(self, "step_count", 0) + 1
     report("    %sawait state.%s(%s)" % (
         "%s = " % (self.upcoming_name(), ) if rule.targets else "",
         rule.function.__name__,
         ", ".join("%s=%s" % kv for kv in data_repr.items()),
     ))
Ejemplo n.º 3
0
 def print_end(self):
     report("    await state.teardown()")
     report("state.trio_run(steps)")
Ejemplo n.º 4
0
 def print_start(self):
     report("state = %s()" % (self.__class__.__name__,))
     report("async def steps():")