diff --git a/manticore/core/state.py b/manticore/core/state.py index 5b163ff..97251c3 100644 --- a/manticore/core/state.py +++ b/manticore/core/state.py @@ -372,4 +372,4 @@ class State(Eventful): :param str name: Short string identifying this testcase used to prefix workspace entries. :param str message: Longer description """ - self.publish('will_generate_inputs', name, message) + self.publish('will_generate_testcase', name, message) diff --git a/tests/test_state.py b/tests/test_state.py index e976e0a..7b8eff3 100644 --- a/tests/test_state.py +++ b/tests/test_state.py @@ -4,6 +4,10 @@ from manticore.platforms import linux from manticore.core.state import State from manticore.core.smtlib import BitVecVariable, ConstraintSet +class _CallbackExecuted(Exception): + pass + + class FakeMemory(object): def __init__(self): self._constraints = None @@ -196,4 +200,14 @@ class StateTest(unittest.TestCase): self.assertEqual( new_state.context['step'], 20) new_new_state = pickle.loads(new_new_file) self.assertEqual( new_new_state.context['step'], 30) - + + + def _test_state_gen_helper(self, name, msg): + self.assertEqual(name, 'statename') + self.assertEqual(msg, 'statemsg') + raise _CallbackExecuted + + def test_state_gen(self): + self.state.subscribe('will_generate_testcase', self._test_state_gen_helper) + with self.assertRaises(_CallbackExecuted): + self.state.generate_testcase('statename', 'statemsg')