mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 04:59:55 +00:00 
			
		
		
		
	 647e7a2a71
			
		
	
	647e7a2a71
	
	
	
		
			
			Usage of `flushregs` in gdb will result in the following warning: ``` Warning: 'flushregs', an alias for the command 'maintenance flush register-cache', is deprecated. Use 'maintenance flush register-cache'. ``` This patch updates to use the recommend command. Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com> Merges https://github.com/espressif/esp-idf/pull/11535
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
 | |
| # SPDX-License-Identifier: Unlicense OR CC0-1.0
 | |
| import re
 | |
| import time
 | |
| 
 | |
| import pexpect.fdpexpect
 | |
| import pytest
 | |
| from pytest_embedded_idf import IdfDut
 | |
| 
 | |
| 
 | |
| @pytest.mark.esp32
 | |
| @pytest.mark.jtag
 | |
| @pytest.mark.parametrize(
 | |
|     'embedded_services',
 | |
|     [
 | |
|         'esp,idf,jtag',
 | |
|     ],
 | |
|     indirect=True,
 | |
| )
 | |
| def test_examples_sysview_tracing(dut: IdfDut) -> None:
 | |
|     def dut_expect_task_event() -> None:
 | |
|         dut.expect(re.compile(rb'example: Task\[0x3[0-9A-Fa-f]+\]: received event \d+'), timeout=30)
 | |
| 
 | |
|     dut.gdb.write('mon reset halt')
 | |
|     dut.gdb.write('maintenance flush register-cache')
 | |
|     dut.gdb.write('b app_main')
 | |
| 
 | |
|     dut.gdb.write('commands', non_blocking=True)
 | |
|     dut.gdb.write(
 | |
|         'mon esp sysview start file:///tmp/sysview_example0.svdat file:///tmp/sysview_example1.svdat', non_blocking=True
 | |
|     )
 | |
|     dut.gdb.write('c', non_blocking=True)
 | |
|     dut.gdb.write('end')
 | |
| 
 | |
|     dut.gdb.write('c', non_blocking=True)
 | |
|     time.sleep(1)  # to avoid EOF file error
 | |
|     with open(dut.gdb._logfile) as fr:  # pylint: disable=protected-access
 | |
|         gdb_pexpect_proc = pexpect.fdpexpect.fdspawn(fr.fileno())
 | |
|         gdb_pexpect_proc.expect('Thread 2 "main" hit Breakpoint 1, app_main ()')
 | |
| 
 | |
|         dut.expect('example: Created task')  # dut has been restarted by gdb since the last dut.expect()
 | |
|         dut_expect_task_event()
 | |
| 
 | |
|         # Do a sleep while sysview samples are captured.
 | |
|         time.sleep(3)
 | |
|         # GDB isn't responding now to any commands, therefore, the following command is issued to openocd
 | |
|         dut.openocd.write('esp sysview stop')
 |