1
2
3
4
5import os
6import time
7import isystem.connect as ic
8
9
10winidea_id = ''
11
12
13def test_cvrg_all_code():
14 cmgr = ic.ConnectionMgr()
15 cmgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
16
17 debugCtrl = ic.CDebugFacade(cmgr)
18 debugCtrl.reset()
19
20
21 coverage = ic.CCoverageController2(cmgr, 'sdk_example.trd', 'w')
22
23
24 if not coverage.waitUntilLoaded(5000):
25 print('isBusy = ', coverage.isBusy())
26 print("Warning - timeout ocurred when loading coverage document - some data may not be loaded!")
27
28
29
30 coverage.removeTrigger('coverageTrigger')
31 triggerIdx = coverage.createTrigger('coverageTrigger')
32 coverage.select(triggerIdx)
33
34
35 coverage.setScope(triggerIdx, ic.CCoverageController2.EScopeAllDownloadedCode)
36
37
38 coverage.start()
39 debugCtrl.run()
40 print('Target is running, coverage is recording data...')
41 time.sleep(3)
42 debugCtrl.stop()
43 coverage.stopSampling()
44
45 print('Target stopped, loading coverage data...')
46 while not coverage.waitUntilLoaded(3000):
47 print("winIDEA is analyzing coverage recording, please wait ...!")
48 print(' isBusy = ', coverage.isBusy())
49
50
51 exportCfg = ic.CCoverageExportConfig()
52 exportFmt = ic.CCoverageXMLExportFormat()
53 exportCfg.setFileName('coverageSample-1.xml') \
54 .setFormatter(exportFmt) \
55 .setExportModules(True) \
56 .setExportModuleLines(True) \
57 .setExportSources(True) \
58 .setExportFunctions(True) \
59 .setExportFunctionLines(True) \
60 .setExportFunctionAsm(True) \
61 .setExportAsm(True) \
62 .setExportRanges(True)
63
64 coverage.exportData(exportCfg)
65 coverage.closeAll()
66
67
68if __name__ == "__main__":
69 test_cvrg_all_code()