[PATCH 2/3] doc: pytest: Document the test_bootstage test
Tom Rini
trini at konsulko.com
Thu May 8 01:23:01 CEST 2025
Add this test to the documentation. We need to move the import to follow
the main comment so that it renders correctly, and add a code-block
annotation to the example and indent it correctly. Next, neither of the
functions had comments themselves, so document them now.
Signed-off-by: Tom Rini <trini at konsulko.com>
---
Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
Cc: Simon Glass <sjg at chromium.org>
---
doc/develop/pytest/index.rst | 1 +
doc/develop/pytest/test_bootstage.rst | 8 ++++++
test/py/tests/test_bootstage.py | 35 +++++++++++++++++++++------
3 files changed, 37 insertions(+), 7 deletions(-)
create mode 100644 doc/develop/pytest/test_bootstage.rst
diff --git a/doc/develop/pytest/index.rst b/doc/develop/pytest/index.rst
index e2131a2f4a68..5bcda1f0952c 100644
--- a/doc/develop/pytest/index.rst
+++ b/doc/develop/pytest/index.rst
@@ -18,5 +18,6 @@ Individual tests
:maxdepth: 1
test_000_version
+ test_bootstage
test_net
test_net_boot
diff --git a/doc/develop/pytest/test_bootstage.rst b/doc/develop/pytest/test_bootstage.rst
new file mode 100644
index 000000000000..f8f10e96a42c
--- /dev/null
+++ b/doc/develop/pytest/test_bootstage.rst
@@ -0,0 +1,8 @@
+test_bootstage
+==============
+
+.. automodule:: test_bootstage
+ :synopsis:
+ :member-order: bysource
+ :members:
+ :undoc-members:
diff --git a/test/py/tests/test_bootstage.py b/test/py/tests/test_bootstage.py
index 379c1cae6dd5..2505862c5a4d 100644
--- a/test/py/tests/test_bootstage.py
+++ b/test/py/tests/test_bootstage.py
@@ -1,8 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
# (C) Copyright 2023, Advanced Micro Devices, Inc.
-import pytest
-
"""
Test the bootstage command.
@@ -15,16 +13,32 @@ common/bootstage.c). Without this, bootstage stash and unstash tests will be
automatically skipped.
For example:
-env__bootstage_cmd_file = {
- 'addr': 0x200000,
- 'size': 0x1000,
- 'bootstage_magic_addr': 0xb00757a3,
-}
+
+.. code-block:: python
+
+ env__bootstage_cmd_file = {
+ 'addr': 0x200000,
+ 'size': 0x1000,
+ 'bootstage_magic_addr': 0xb00757a3,
+ }
"""
+import pytest
+
@pytest.mark.buildconfigspec('bootstage')
@pytest.mark.buildconfigspec('cmd_bootstage')
def test_bootstage_report(ubman):
+ """Test the bootstage report subcommand
+
+ This will run the 'bootstage report' subcommand and ensure that we are
+ reporting:
+
+ - A timer summary in microseconds
+ - The accumulated time
+ - That at least the phrase 'dm_r' is in the output
+
+ Note that the time values are not checked.
+ """
output = ubman.run_command('bootstage report')
assert 'Timer summary in microseconds' in output
assert 'Accumulated time:' in output
@@ -34,6 +48,13 @@ def test_bootstage_report(ubman):
@pytest.mark.buildconfigspec('cmd_bootstage')
@pytest.mark.buildconfigspec('bootstage_stash')
def test_bootstage_stash_and_unstash(ubman):
+ """Test the bootstage stash and unstash subcommands
+
+ After checking that we have configured an environment file to use, we will
+ use the stash subcommand to save information. Then we will use the md
+ command to verify the contents in memory. Finally we confirm the unstash
+ subcommand runs successfully.
+ """
f = ubman.config.env.get('env__bootstage_cmd_file', None)
if not f:
pytest.skip('No bootstage environment file is defined')
--
2.43.0
More information about the U-Boot
mailing list