mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
Merge branch 'feature/test-next-command-for-gdbstub-runtime' into 'master'
fix(tests): gdbstub: test 'next' command for every target Closes IDF-7927 and IDF-7268 See merge request espressif/esp-idf!45799
This commit is contained in:
@@ -318,6 +318,14 @@ def test_gdbstub_runtime(dut: PanicTestDut) -> None:
|
|||||||
assert payload['frame']['line'] == str(get_line_number('var_2+=2;'))
|
assert payload['frame']['line'] == str(get_line_number('var_2+=2;'))
|
||||||
assert payload['stopped-threads'] == 'all'
|
assert payload['stopped-threads'] == 'all'
|
||||||
|
|
||||||
|
# Test next command
|
||||||
|
cmd = '-exec-next'
|
||||||
|
payload = run_and_break(dut, cmd)
|
||||||
|
assert payload['reason'] == 'end-stepping-range'
|
||||||
|
assert payload['frame']['line'] == str(get_line_number('var_2--;', 0))
|
||||||
|
assert payload['frame']['func'] == 'foo'
|
||||||
|
assert payload['stopped-threads'] == 'all'
|
||||||
|
|
||||||
# Test finish command
|
# Test finish command
|
||||||
cmd = '-exec-finish'
|
cmd = '-exec-finish'
|
||||||
payload = run_and_break(dut, cmd)
|
payload = run_and_break(dut, cmd)
|
||||||
@@ -392,40 +400,3 @@ def test_gdbstub_runtime(dut: PanicTestDut) -> None:
|
|||||||
assert payload['frame']['func'] == 'app_main'
|
assert payload['frame']['func'] == 'app_main'
|
||||||
assert payload['frame']['line'] == str(get_line_number('label_5', 1))
|
assert payload['frame']['line'] == str(get_line_number('label_5', 1))
|
||||||
assert payload['stopped-threads'] == 'all'
|
assert payload['stopped-threads'] == 'all'
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic
|
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32', 'esp32s2', 'esp32s3'], reason='fix IDF-7927')
|
|
||||||
@idf_parametrize('target', ['esp32', 'esp32s2', 'esp32s3'], indirect=['target'])
|
|
||||||
def test_gdbstub_runtime_xtensa_stepping_bug(dut: PanicTestDut) -> None:
|
|
||||||
start_gdb(dut)
|
|
||||||
|
|
||||||
dut_enable_test(dut)
|
|
||||||
|
|
||||||
# Test breakpoint
|
|
||||||
cmd = '-break-insert --source test_app_main.c --function app_main --label label_1'
|
|
||||||
response = dut.find_gdb_response('done', 'result', dut.gdb_write(cmd))
|
|
||||||
assert response is not None
|
|
||||||
cmd = '-exec-continue'
|
|
||||||
payload = run_and_break(dut, cmd)
|
|
||||||
assert payload['reason'] == 'breakpoint-hit'
|
|
||||||
assert payload['bkptno'] == '1'
|
|
||||||
assert payload['frame']['func'] == 'app_main'
|
|
||||||
assert payload['frame']['line'] == str(get_line_number('label_1:', 1))
|
|
||||||
assert payload['stopped-threads'] == 'all'
|
|
||||||
|
|
||||||
# Test step command
|
|
||||||
cmd = '-exec-step'
|
|
||||||
payload = run_and_break(dut, cmd)
|
|
||||||
assert payload['reason'] == 'end-stepping-range'
|
|
||||||
assert payload['frame']['func'] == 'foo'
|
|
||||||
assert payload['frame']['line'] == str(get_line_number('var_2+=2;'))
|
|
||||||
assert payload['stopped-threads'] == 'all'
|
|
||||||
|
|
||||||
# Test next command
|
|
||||||
cmd = '-exec-next'
|
|
||||||
payload = run_and_break(dut, cmd)
|
|
||||||
assert payload['reason'] == 'end-stepping-range'
|
|
||||||
assert payload['frame']['line'] == str(get_line_number('var_2--;', 0))
|
|
||||||
assert payload['frame']['func'] == 'foo'
|
|
||||||
assert payload['stopped-threads'] == 'all'
|
|
||||||
|
|||||||
Reference in New Issue
Block a user