(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
gcov/
test-gcov-17.py
       1  from gcov import gcov_from_env
       2  
       3  import pytest
       4  
       5  
       6  @pytest.fixture(scope='function', autouse=True)
       7  def gcov():
       8      return gcov_from_env()
       9  
      10  
      11  def test_basics(gcov):
      12      files = gcov['files']
      13      assert len(files) == 1
      14      functions = files[0]['functions']
      15      assert len(functions) == 5
      16  
      17  
      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)
      25  
      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[31][0]['unexecuted_block']
      35      assert linesdict[34][0]['unexecuted_block']
      36      assert not linesdict[37][0]['unexecuted_block']
      37      assert 32 not in linesdict