def test_read_bit_by_bit(): tmpfile = tempfile.NamedTemporaryFile(delete=False) vmprof.enable(tmpfile.fileno()) function_foo() vmprof.disable() tmpfile.close() with open(tmpfile.name, "rb") as f: period, profiles, virtual_symbols, interp_name = read_prof_bit_by_bit(f) stats = Stats(profiles, virtual_symbols, interp_name) stats.get_tree()
def test_read_bit_by_bit(): tmpfile = tempfile.NamedTemporaryFile(delete=False) vmprof.enable(tmpfile.fileno()) function_foo() vmprof.disable() tmpfile.close() with open(tmpfile.name, 'rb') as f: period, profiles, virtual_symbols, interp_name = read_prof_bit_by_bit( f) stats = Stats(profiles, virtual_symbols, interp_name) stats.get_tree()
def test_tree_basic(): profiles = [([1, 2], 1, 1), ([1, 2], 1, 1)] stats = Stats(profiles, adr_dict={1: 'foo', 2: 'bar'}) tree = stats.get_tree() assert tree == Node(1, 'foo', 2, {2: Node(2, 'bar', 2)}) assert repr(tree) == '<Node: foo (2) [(2, bar)]>' profiles = [([1, 2], 1, 1), ([1, 3], 1, 1)] stats = Stats(profiles, adr_dict={1: 'foo', 2: 'bar', 3: 'baz'}) tree = stats.get_tree() assert tree == Node(1, 'foo', 2, { 2: Node(2, 'bar', 1), 3: Node(3, 'baz', 1) })
def test_tree_basic(): profiles = [([VirtualFrame(1), VirtualFrame(2)], 1, 1), ([VirtualFrame(1), VirtualFrame(2)], 1, 1)] stats = Stats(profiles, adr_dict={1: 'foo', 2: 'bar'}) tree = stats.get_tree() assert tree == Node(1, 'foo', 2, {2: Node(2, 'bar', 2)}) assert repr(tree) == '<Node: foo (2) [(2, bar)]>' profiles = [([VirtualFrame(1), VirtualFrame(2)], 1, 1), ([VirtualFrame(1), VirtualFrame(3)], 1, 1)] stats = Stats(profiles, adr_dict={1: 'foo', 2: 'bar', 3: 'baz'}) tree = stats.get_tree() assert tree == Node(1, 'foo', 2, { 2: Node(2, 'bar', 1), 3: Node(3, 'baz', 1)})
def test_tree_gc(): profiles = [([VirtualFrame(1)], 1, 1), ([VirtualFrame(1), MinorGCFrame(100)], 1, 1)] stats = Stats(profiles, adr_dict={1: 'foo', 100: 'gc_collect'}) tree = stats.get_tree() assert tree == Node(1, 'foo', 2) assert tree.meta['gc:minor'] == 1
def test_tree_jit(): profiles = [([1], 1, 1), ([1, AssemblerCode(100), JittedCode(1)], 1, 1)] stats = Stats(profiles, adr_dict={1: 'foo'}) tree = stats.get_tree() assert tree == Node(1, 'foo', 2) assert tree.meta['jit'] == 1
def test_line_profiling(): tmpfile = tempfile.NamedTemporaryFile(delete=False) vmprof.enable(tmpfile.fileno(), lines=True) # enable lines profiling function_foo() vmprof.disable() tmpfile.close() def walk(tree): assert len(tree.lines) >= len(tree.children) for v in six.itervalues(tree.children): walk(v) with open(tmpfile.name, "rb") as f: period, profiles, virtual_symbols, interp_name = read_prof_bit_by_bit(f) stats = Stats(profiles, virtual_symbols, interp_name) walk(stats.get_tree())
def test_line_profiling(): tmpfile = tempfile.NamedTemporaryFile(delete=False) vmprof.enable(tmpfile.fileno(), lines=True) # enable lines profiling function_foo() vmprof.disable() tmpfile.close() def walk(tree): assert len(tree.lines) >= len(tree.children) for v in six.itervalues(tree.children): walk(v) with open(tmpfile.name, 'rb') as f: period, profiles, virtual_symbols, interp_name = read_prof_bit_by_bit( f) stats = Stats(profiles, virtual_symbols, interp_name) walk(stats.get_tree())
def test_tree_jit(): profiles = [([1], 1, 1), ([1, AssemblerCode(100), JittedCode(1)], 1, 1)] stats = Stats(profiles, adr_dict={1: 'foo'}) tree = stats.get_tree() assert tree == Node(1, 'foo', 2) assert tree.meta['jit'] == 1