mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-05 21:54:33 +02:00
apptrace: fix SystemView example test
add trace svdat file to artifacts
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||
import os.path
|
||||
import time
|
||||
@@ -7,8 +7,6 @@ import pexpect.fdpexpect
|
||||
import pytest
|
||||
from pytest_embedded_idf import IdfDut
|
||||
|
||||
TEMP_FILE = os.path.join(os.path.dirname(__file__), 'heap_log.svdat')
|
||||
|
||||
|
||||
@pytest.mark.esp32
|
||||
@pytest.mark.jtag
|
||||
@@ -16,12 +14,14 @@ TEMP_FILE = os.path.join(os.path.dirname(__file__), 'heap_log.svdat')
|
||||
'esp,idf,jtag',
|
||||
], indirect=True)
|
||||
def test_examples_sysview_tracing_heap_log(idf_path: str, dut: IdfDut) -> None:
|
||||
trace_log = os.path.join(os.path.dirname(dut.gdb._logfile), 'heap_log.svdat') # pylint: disable=protected-access
|
||||
|
||||
dut.gdb.write('mon reset halt')
|
||||
dut.gdb.write('flushregs')
|
||||
|
||||
dut.gdb.write('tb heap_trace_start')
|
||||
dut.gdb.write('commands', non_blocking=True)
|
||||
dut.gdb.write(f'mon esp sysview start file://{TEMP_FILE}', non_blocking=True)
|
||||
dut.gdb.write(f'mon esp sysview start file://{trace_log}', non_blocking=True)
|
||||
dut.gdb.write('c', non_blocking=True)
|
||||
dut.gdb.write('end')
|
||||
|
||||
@@ -30,14 +30,14 @@ def test_examples_sysview_tracing_heap_log(idf_path: str, dut: IdfDut) -> None:
|
||||
dut.gdb.write('mon esp sysview stop', non_blocking=True)
|
||||
dut.gdb.write('end')
|
||||
|
||||
dut.gdb.write('c', non_blocking=True)
|
||||
dut.gdb.write('c')
|
||||
dut.expect('esp_apptrace: Initialized TRAX on CPU0')
|
||||
|
||||
time.sleep(1) # make sure that the sysview file has been generated
|
||||
with pexpect.spawn(' '.join([os.path.join(idf_path, 'tools', 'esp_app_trace', 'sysviewtrace_proc.py'),
|
||||
'-p',
|
||||
'-b', dut.app.elf_file,
|
||||
TEMP_FILE])) as sysviewtrace:
|
||||
trace_log])) as sysviewtrace:
|
||||
sysviewtrace.expect(r'Found \d+ leaked bytes in \d+ blocks.', timeout=120)
|
||||
|
||||
with open(dut.gdb._logfile) as fr: # pylint: disable=protected-access
|
||||
|
Reference in New Issue
Block a user