def test_module_instrumentation_integration(): """Small integration test, which tests the instrumentation for various function types.""" tracer = ExecutionTracer() with install_import_hook("tests.fixtures.instrumentation.mixed", tracer): mixed = importlib.import_module("tests.fixtures.instrumentation.mixed") mixed = importlib.reload(mixed) inst = mixed.TestClass(5) inst.method(5) inst.method_with_nested(5) mixed.function(5) sum(mixed.generator()) asyncio.run(mixed.coroutine(5)) asyncio.run(run_async_generator(mixed.async_generator())) assert len(tracer.get_trace().executed_code_objects) == 10
def test_passed_cmp_predicate(): tracer = ExecutionTracer() tracer.register_predicate(MagicMock(PredicateMetaData)) tracer.executed_compare_predicate(1, 0, 0, Compare.EQ) assert (0, 1) in tracer.get_trace().executed_predicates.items()
def test_update_metrics_covered(): tracer = ExecutionTracer() tracer.register_predicate(MagicMock(PredicateMetaData)) tracer.executed_compare_predicate(1, 0, 0, Compare.EQ) tracer.executed_compare_predicate(1, 0, 0, Compare.EQ) assert (0, 2) in tracer.get_trace().executed_predicates.items()
def test_entered_function(): tracer = ExecutionTracer() tracer.register_code_object(MagicMock(CodeObjectMetaData)) tracer.executed_code_object(0) assert 0 in tracer.get_trace().executed_code_objects
def test_bool_distance_false(): tracer = ExecutionTracer() tracer.register_predicate(MagicMock(PredicateMetaData)) tracer.executed_bool_predicate(False, 0) assert (0, 1.0) in tracer.get_trace().true_distances.items() assert (0, 0.0) in tracer.get_trace().false_distances.items()
def test_passed_bool_predicate(): tracer = ExecutionTracer() tracer.register_predicate(MagicMock(PredicateMetaData)) tracer.executed_bool_predicate(True, 0) assert (0, 1) in tracer.get_trace().executed_predicates.items()
def test_cmp(cmp, val1, val2, true_dist, false_dist): tracer = ExecutionTracer() tracer.register_predicate(MagicMock(PredicateMetaData)) tracer.executed_compare_predicate(val1, val2, 0, cmp) assert (0, true_dist) in tracer.get_trace().true_distances.items() assert (0, false_dist) in tracer.get_trace().false_distances.items()
def test_passed_cmp_predicate(): tracer = ExecutionTracer() tracer.current_thread_ident = threading.currentThread().ident tracer.register_predicate(MagicMock(code_object_id=0)) tracer.executed_compare_predicate(1, 0, 0, Compare.EQ) assert (0, 1) in tracer.get_trace().executed_predicates.items()
def test_entered_function(): tracer = ExecutionTracer() tracer.current_thread_ident = threading.currentThread().ident tracer.register_code_object(MagicMock(CodeObjectMetaData)) tracer.executed_code_object(0) assert 0 in tracer.get_trace().executed_code_objects
def test_passed_bool_predicate(): tracer = ExecutionTracer() tracer.register_predicate(MagicMock(code_object_id=0)) tracer.current_thread_ident = threading.currentThread().ident tracer.executed_bool_predicate(True, 0) assert (0, 1) in tracer.get_trace().executed_predicates.items()