summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-01-20 08:31:34 -0600
committerTom Rini <[email protected]>2026-01-20 08:31:34 -0600
commita4dc1c3b7d563ac823bf351a656100c3fb2d6424 (patch)
tree7044b36a84f95155e860e386bc0b89a752e88227 /test
parent55ca2110d74f8e5a594aecc11ce4103dc73e9e02 (diff)
parent8304f3226700561d219850ee3f542df37373c843 (diff)
Merge tag 'efi-2026-04-rc1-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2026-04-rc1-2 CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/29050 Documentation: * Update StarFive JH7110 common description * Add TI AM62D documentation * Update urllib3 version for building * Update links to doc/develop/falcon.rst * Describe QEMU networking * kdoc: handle the obsolescensce of docutils.ErrorString() * Fix typo "addtional" -> "additional" in pflash section. UEFI: * Fix boot failure from FIT with compressed EFI binary Others: * cmd/meminfo: Correct displaying addresses above 4 GiB * test: - Consider configuration in meminfo test - Consider initf_malloc is only traced with EARLY_TRACE - Clean up test_trace.py code
Diffstat (limited to 'test')
-rw-r--r--test/cmd/meminfo.c20
-rw-r--r--test/py/tests/test_trace.py38
2 files changed, 34 insertions, 24 deletions
diff --git a/test/cmd/meminfo.c b/test/cmd/meminfo.c
index 40c3520496e..d91fa6fcead 100644
--- a/test/cmd/meminfo.c
+++ b/test/cmd/meminfo.c
@@ -15,24 +15,34 @@ static int cmd_test_meminfo(struct unit_test_state *uts)
{
ut_assertok(run_command("meminfo", 0));
ut_assert_nextlinen("DRAM: ");
+
+ if (!IS_ENABLED(CMD_MEMINFO_MAP))
+ return 0;
+
ut_assert_nextline_empty();
- ut_assert_nextline("Region Base Size End Gap");
+ ut_assert_nextline("Region Base Size End Gap");
ut_assert_nextlinen("-");
/* For now we don't worry about checking the values */
- ut_assert_nextlinen("video");
+ if (IS_ENABLED(CONFIG_VIDEO))
+ ut_assert_nextlinen("video");
+ if (IS_ENABLED(CONFIG_TRACE))
+ ut_assert_nextlinen("trace");
ut_assert_nextlinen("code");
ut_assert_nextlinen("malloc");
ut_assert_nextlinen("board_info");
ut_assert_nextlinen("global_data");
ut_assert_nextlinen("devicetree");
- ut_assert_nextlinen("bootstage");
- ut_assert_nextlinen("bloblist");
+ if (IS_ENABLED(CONFIG_BOOTSTAGE))
+ ut_assert_nextlinen("bootstage");
+ if (IS_ENABLED(CONFIG_BLOBLIST))
+ ut_assert_nextlinen("bloblist");
ut_assert_nextlinen("stack");
/* we expect at least one lmb line, but don't know how many */
- ut_assert_nextlinen("lmb");
+ if (IS_ENABLED(CONFIG_LMB))
+ ut_assert_nextlinen("lmb");
ut_assert_skip_to_linen("free");
ut_assert_console_end();
diff --git a/test/py/tests/test_trace.py b/test/py/tests/test_trace.py
index fcdcbe2c6db..36a3c4e8fe9 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 <[email protected]>
+"""Tests for the function trace facility"""
+
import os
-import pytest
import re
+import pytest
import utils
@@ -159,7 +161,8 @@ def check_function(ubman, fname, proftool, map_fname, trace_dat):
base = timestamp
# Check for some expected functions
- assert 'initf_malloc' in vals.keys()
+ if ubman.config.buildconfig.get('config_trace_early'):
+ assert 'initf_malloc' in vals.keys()
assert 'initr_watchdog' in vals.keys()
assert 'initr_dm' in vals.keys()
@@ -182,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
@@ -217,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 == '}':
@@ -267,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'])
# We expect dm_timer_init() to be called twice: once before relocation and
# once after
@@ -290,16 +291,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')