aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/gcov/test-pr98273.py
blob: 6cb39d10c1ec8b887982ec1e44b3400abb86d5d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from gcov import gcov_from_env

import pytest


@pytest.fixture(scope='function', autouse=True)
def gcov():
    return gcov_from_env()


def test_basics(gcov):
    files = gcov['files']
    assert len(files) == 1
    functions = files[0]['functions']
    assert len(functions) == 3


def test_lines(gcov):
    lines = gcov['files'][0]['lines']
    linesdict = {}
    for line in lines:
        linesdict[int(line['line_number'])] = line

    assert linesdict[21]['function_name'] == 'main'
    assert linesdict[15]['function_name'] == '_ZZ4mainENKUlvE_clEv'
    assert (linesdict[12]['function_name']
            == '_ZZZ4mainENKUlvE_clEvENKUlvE_clEv')