winIDEA SDK
test_run_until_expression.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_runUntilExpression():
12 connMgr = ic.ConnectionMgr()
13 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
14
15 dbgCtrl = ic.CDebugFacade(connMgr)
16
17 execCtrl = dbgCtrl.getExecutionController()
18 addCtrl = dbgCtrl.getAddressController()
19
20 execCtrl.reset()
21
22 print("Use `runUntilExpression` function to run to 'main()'...")
23 dbgCtrl.runUntilExpression("main")
24 assert dbgCtrl.waitWhileRunning(5000) is True
25 mainAddress = addCtrl.getFunctionAddress("main").getAddress()
26 address = execCtrl.getCPUStatus().getExecutionPoint()
27 print(f"Current location: {hex(address)}, expecting: {hex(mainAddress)}")
28
29 # the same with timeout
30 print("Use `runUntilExpression` function with timeout to run to 'target_init()'...")
31 dbgCtrl.runUntilExpression("target_init",
32 ic.CExecutionController.TOUT_1s)
33 tiAddress = addCtrl.getFunctionAddress("target_init").getAddress()
34 address = execCtrl.getCPUStatus().getExecutionPoint()
35 print(f"Current location: {hex(address)}, expecting: {hex(tiAddress)}")
36
37
38if __name__ == "__main__":
39 test_runUntilExpression()