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['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
|
||||
cmd = '-exec-finish'
|
||||
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']['line'] == str(get_line_number('label_5', 1))
|
||||
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