def test_rejects_invalid_step_sizes_in_data(): runner = DepthMachine.find_breaking_runner() strategy = StateMachineSearchStrategy() basic = strategy.to_basic(runner) assert isinstance(basic[2], int) basic[2] = -1 with pytest.raises(BadData): strategy.from_basic(basic) basic[2] = 1000000 with pytest.raises(BadData): strategy.from_basic(basic)
def test_can_shrink_deserialized_execution_without_running(machine): runner = machine.find_breaking_runner() strategy = StateMachineSearchStrategy() new_runner = strategy.from_basic(strategy.to_basic(runner)) r = Random(1) for simplifier in strategy.simplifiers(r, new_runner): try: next(simplifier(r, new_runner)) except StopIteration: pass
def test_can_serialize_statemachine_execution(machine): runner = machine.find_breaking_runner() strategy = StateMachineSearchStrategy() new_runner = strategy.from_basic(strategy.to_basic(runner)) with pytest.raises(AssertionError): new_runner.run(machine()) r = Random(1) for simplifier in strategy.simplifiers(r, new_runner): try: next(simplifier(r, new_runner)) except StopIteration: pass