def test_it_relates_nested_function_calls(self, _): # Arrange thread_exec_modeler = ThreadModeler(self.entity_id_generator, self.model) # Act parent_function_call = thread_exec_modeler.on_call(fake('FrameDigest')) child_function_call = thread_exec_modeler.on_call(fake('FrameDigest')) # Assert assert_equal(child_function_call.parent, parent_function_call)
def test_on_call_it_ignores_it_if_the_function_is_unknown(self, _): # Arrange frame_digest = fake('FrameDigest', spec_set=False) self.model.functions.get_by_id.side_effect = KeyError thread_exec_modeler = ThreadModeler(self.entity_id_generator, self.model) # Act function_call = thread_exec_modeler.on_call(frame_digest) # Assert assert_is_none(function_call)
def test_it_considers_returns_when_relating_nested_function_calls(self, _): # Arrange thread_exec_modeler = ThreadModeler(self.entity_id_generator, self.model) # Act thread_exec_modeler.on_call(fake('FrameDigest')) child_function_call1 = thread_exec_modeler.on_call(fake('FrameDigest')) thread_exec_modeler.on_return(Mock()) child_function_call2 = thread_exec_modeler.on_call(fake('FrameDigest')) # Assert assert_equal(child_function_call1.parent, child_function_call2.parent)