Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)