Skip to content

Commit e0d182c

Browse files
committed
Inline invariant printing
1 parent a4705d4 commit e0d182c

File tree

1 file changed

+7
-19
lines changed

1 file changed

+7
-19
lines changed

hypothesis-python/src/hypothesis/stateful.py

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,7 @@ def run_state_machine(factory, data):
122122
try:
123123
if print_steps:
124124
report(f"state = {machine.__class__.__name__}()")
125-
try:
126-
machine.check_invariants(settings)
127-
finally:
128-
if print_steps:
129-
machine._print_invariants()
125+
machine.check_invariants(settings)
130126
max_steps = settings.stateful_step_count
131127
steps_run = 0
132128

@@ -208,11 +204,7 @@ def run_state_machine(factory, data):
208204
# If it does, and the result is a 'MultipleResult',
209205
# then 'print_step' prints a multi-variable assignment.
210206
machine._print_step(rule, data_to_print, result)
211-
try:
212-
machine.check_invariants(settings)
213-
finally:
214-
if print_steps:
215-
machine._print_invariants()
207+
machine.check_invariants(settings)
216208
cd.stop_example()
217209
finally:
218210
if print_steps:
@@ -364,15 +356,6 @@ def _print_step(self, rule, data, result):
364356
)
365357
)
366358

367-
def _print_invariants(self):
368-
for invar in self.invariants():
369-
if self._initialize_rules_to_run and not invar.check_during_init:
370-
continue
371-
if not all(precond(self) for precond in invar.preconditions):
372-
continue
373-
report("state.{}()".format(invar.function.__name__)
374-
)
375-
376359
def _add_result_to_targets(self, targets, result):
377360
name = self._new_name()
378361
self.__printer.singleton_pprinters.setdefault(
@@ -388,6 +371,11 @@ def check_invariants(self, settings):
388371
continue
389372
if not all(precond(self) for precond in invar.preconditions):
390373
continue
374+
if (
375+
current_build_context().is_final
376+
or settings.verbosity >= Verbosity.debug
377+
):
378+
report(f"state.{invar.function.__name__}()")
391379
result = invar.function(self)
392380
if result is not None:
393381
fail_health_check(

0 commit comments

Comments
 (0)