winIDEA SDK
Loading...
Searching...
No Matches
test_coverage_custom_scope.py
# This script is licensed under BSD License, see file LICENSE.txt, or search for `License` in the SDK online help.
#
# (c) TASKING Germany GmbH, 2023
import isystem.connect as ic
import time
winidea_id = ''
def test_cvrg_custom_scope():
cmgr = ic.ConnectionMgr()
cmgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
debugCtrl = ic.CDebugFacade(cmgr)
debugCtrl.reset()
# Create coverage document.
coverage = ic.CCoverageController2(cmgr, 'sample_coverage.trd', 'w')
# Wait until winIDEA has loaded the document, if it already existed.
if not coverage.waitUntilLoaded(5000):
print('isBusy = ', coverage.isBusy())
print("Warning - timeout ocurred when loading coverage document - some data may not be loaded!")
# Create and select a new coverage trigger. First make sure, that it
# does not already exist.
coverage.removeTrigger('coverageTrigger')
triggerIdx = coverage.createTrigger('coverageTrigger')
coverage.select(triggerIdx)
# Measure coverage of selected functions.
coverage.setScope(triggerIdx, ic.CCoverageController2.EScopeCustom)
coverage.addArea(triggerIdx, ic.CCoverageController2.EAreaFunction, "fibonacci")
coverage.addArea(triggerIdx, ic.CCoverageController2.EAreaFunction, "bubble_sort")
# repeat recording
print('New recording started: Target is running, coverage is recording data ...')
coverage.start()
debugCtrl.run()
time.sleep(3)
debugCtrl.stop()
coverage.stopSampling()
print('Target stopped, loading coverage data...')
coverage.waitUntilLoaded()
if __name__ == "__main__":
test_cvrg_custom_scope()