winIDEA SDK
test_get_iterator.py
1# This script is licensed under BSD License, see file LICENSE.txt.
2#
3# (c) TASKING Germany GmbH, 2023
4
5import isystem.connect as ic
6
7
8winidea_id = ''
9
10
11def test_getIterator():
12 connMgr = ic.ConnectionMgr()
13 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
14
15 filePath = "../../../targetProjects/cvrgExport.xml"
16 # Do not load large recording data into memory. Instead, iterate over data with iterator.
17 covData = ic.CCoverageData2.createInstance(filePath, True)
18
19 print(f"Iterating modules in a given coverage data ...")
20 statisticIterator = covData.getIterator(ic.CCoverageStatistic2.EModule)
21 numOfFunctions = 0
22 while statisticIterator.hasNext():
23 numOfFunctions = numOfFunctions + 1
24 stat = statisticIterator.next()
25 print(" Module Name:", stat.getAreaName())
26
27 numChildAreas = stat.getNumChildren()
28 for childAreaIdx in range(numChildAreas):
29 childStat = stat.getChild(childAreaIdx)
30 print(" Child name:", childStat.getAreaName())
31 print(" Child Type:", childStat.getAreaType())
32 print(" Child execution count:", childStat.getExecutionCount())
33
34 covData.closeParser()
35
36
37if __name__ == "__main__":
38 test_getIterator()