zephyr/samples/subsys/profiling/perf/pytest/test_perf.py
Pieter De Gendt bf2db7afc0 python: Format and sort imports
ruff check --select I001 --fix applied to all python files that had
this as only issue.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-25 10:07:13 +01:00

38 lines
1.1 KiB
Python
Executable file

#!/usr/bin/env python3
#
# Copyright (c) 2023 KNS Group LLC (YADRO)
#
# SPDX-License-Identifier: Apache-2.0
import logging
import re
from twister_harness import DeviceAdapter, Shell
logger = logging.getLogger(__name__)
def test_shell_perf(dut: DeviceAdapter, shell: Shell):
shell.base_timeout=10
logger.info('send "perf record 200 99" command')
lines = shell.exec_command('perf record 200 99')
assert 'Enabled perf' in lines, 'expected response not found'
lines = dut.readlines_until(regex='.*Perf done!', print_output=True)
logger.info('response is valid')
logger.info('send "perf printbuf" command')
lines = shell.exec_command('perf printbuf')
lines = lines[1:-1]
match = re.match(r"Perf buf length (\d+)", lines[0])
assert match is not None, 'expected response not found'
length = int(match.group(1))
lines = lines[1:]
assert length != 0, '0 length'
assert length == len(lines), 'length dose not match with count of lines'
i = 0
while i < length:
i += int(lines[i], 16) + 1
assert i <= length, 'one of the samples is not true to size'