Daily bump.
[gcc.git] / gcc / testsuite / g++.dg / gcov / test-gcov-17.py
blobad065b0f443675476f85abc101f65cff7680f5fe
1 from gcov import gcov_from_env
3 import pytest
6 @pytest.fixture(scope='function', autouse=True)
7 def gcov():
8 return gcov_from_env()
11 def test_basics(gcov):
12 files = gcov['files']
13 assert len(files) == 1
14 functions = files[0]['functions']
15 assert len(functions) == 6
18 def test_lines(gcov):
19 lines = gcov['files'][0]['lines']
20 linesdict = {}
21 for line in lines:
22 lineno = int(line['line_number'])
23 linesdict.setdefault(lineno, [])
24 linesdict[lineno].append(line)
26 line9 = linesdict[9]
27 assert len(line9) == 2
28 assert line9[0]['function_name'] == '_ZN3FooIcE3incEv'
29 assert line9[1]['function_name'] == '_ZN3FooIiE3incEv'
30 assert line9[0]['count'] == 0
31 assert line9[1]['count'] == 2
32 assert line9[0]['unexecuted_block']
33 assert not line9[1]['unexecuted_block']
34 assert linesdict[36][0]['unexecuted_block']
35 assert linesdict[39][0]['unexecuted_block']
36 assert not linesdict[41][0]['unexecuted_block']
37 assert 32 not in linesdict
38 print(lines)
40 line41 = linesdict[41][0]
41 assert line41['count'] == 1
42 assert line41['calls'][0]['returned'] == 1
43 assert line41['calls'][0]['source_block_id'] == 13
44 assert line41['calls'][0]['destination_block_id'] == 1
45 assert len(line41['block_ids']) > 0
47 line43 = linesdict[43][0]
48 assert line43['count'] == 1
49 assert line43['calls'][0]['returned'] == 0