[RFC 8/8] test: clean up test_trace.py code
Ilias Apalodimas
ilias.apalodimas at linaro.org
Fri Jan 2 12:07:24 CET 2026
On Sun, 21 Dec 2025 at 03:59, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> * Add module doc string
> * Correct sequence of imports
> * Correct long exceeding 100 characters
> * Remove unused variables
> * Remove module level invocation of check_flamegraph
> * Add encoding to open() calls
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> ---
> test/py/tests/test_trace.py | 35 +++++++++++++++++------------------
> 1 file changed, 17 insertions(+), 18 deletions(-)
>
> diff --git a/test/py/tests/test_trace.py b/test/py/tests/test_trace.py
> index bbe6dd7de41..fc881a1b7a1 100644
> --- a/test/py/tests/test_trace.py
> +++ b/test/py/tests/test_trace.py
> @@ -2,9 +2,11 @@
> # Copyright 2022 Google LLC
> # Written by Simon Glass <sjg at chromium.org>
>
> +"""Tests for the function trace facility"""
> +
> import os
> -import pytest
> import re
> +import pytest
>
> import utils
>
> @@ -183,26 +185,25 @@ def check_funcgraph(ubman, fname, proftool, map_fname, trace_dat):
> """
>
> # Generate the funcgraph format
> - out = utils.run_and_log(
> - ubman, [proftool, '-t', fname, '-o', trace_dat, '-m', map_fname,
> - 'dump-ftrace', '-f', 'funcgraph'])
> + utils.run_and_log(ubman, [proftool, '-t', fname, '-o', trace_dat, '-m',
> + map_fname, 'dump-ftrace', '-f', 'funcgraph'])
>
> # Check that the trace has what we expect
> cmd = f'trace-cmd report -l {trace_dat} |head -n 70'
> out = utils.run_and_log(ubman, ['sh', '-c', cmd])
>
> # First look for this:
> - # u-boot-1 0..... 282.101360: funcgraph_entry: 0.004 us | initf_malloc();
> + # u-boot-1 0..... 282.101360: funcgraph_entry: 0.004 us | initf_malloc();
> # ...
> - # u-boot-1 0..... 282.101369: funcgraph_entry: | initf_bootstage() {
> - # u-boot-1 0..... 282.101369: funcgraph_entry: | bootstage_init() {
> - # u-boot-1 0..... 282.101369: funcgraph_entry: | dlmalloc() {
> + # u-boot-1 0..... 282.101369: funcgraph_entry: | initf_bootstage() {
> + # u-boot-1 0..... 282.101369: funcgraph_entry: | bootstage_init() {
> + # u-boot-1 0..... 282.101369: funcgraph_entry: | dlmalloc() {
> # ...
> - # u-boot-1 0..... 282.101375: funcgraph_exit: 0.001 us | }
> + # u-boot-1 0..... 282.101375: funcgraph_exit: 0.001 us | }
> # Then look for this:
> - # u-boot-1 0..... 282.101375: funcgraph_exit: 0.006 us | }
> + # u-boot-1 0..... 282.101375: funcgraph_exit: 0.006 us | }
> # Then check for this:
> - # u-boot-1 0..... 282.101375: funcgraph_entry: 0.000 us | event_init();
> + # u-boot-1 0..... 282.101375: funcgraph_entry: 0.000 us | event_init();
>
> expected_indent = None
> found_start = False
> @@ -218,7 +219,7 @@ def check_funcgraph(ubman, fname, proftool, map_fname, trace_dat):
> if found_end:
> upto = func
> break
> - elif func == 'initf_bootstage() ':
> + if func == 'initf_bootstage() ':
> found_start = True
> expected_indent = indent + ' '
> elif found_start and indent == expected_indent and brace == '}':
> @@ -268,9 +269,8 @@ def check_flamegraph(ubman, fname, proftool, map_fname, trace_fg):
> """
>
> # Generate the flamegraph format
> - out = utils.run_and_log(
> - ubman, [proftool, '-t', fname, '-o', trace_fg, '-m', map_fname,
> - 'dump-flamegraph'])
> + utils.run_and_log(ubman, [proftool, '-t', fname, '-o', trace_fg, '-m', map_fname,
> + 'dump-flamegraph'])
>
> # Generate the timing graph
> utils.run_and_log(
> @@ -279,16 +279,15 @@ def check_flamegraph(ubman, fname, proftool, map_fname, trace_fg):
>
> # Add up all the time spend in initf_dm() and its children
> total = 0
> - with open(trace_fg, 'r') as fd:
> + with open(trace_fg, 'r', encoding='utf-8') as fd:
> for line in fd:
> line = line.strip()
> if line.startswith('initf_dm'):
> - func, val = line.split()
> + _, val = line.split()
> count = int(val)
> total += count
> return total
>
> -check_flamegraph
> @pytest.mark.slow
> @pytest.mark.boardspec('sandbox')
> @pytest.mark.buildconfigspec('trace')
> --
> 2.51.0
>
More information about the U-Boot
mailing list