doc: Start improving our pytest documentation

Begin the work of documenting all of our pytests. To do this, we should
have a directory under develop for it as there will be a large number of
new files. As the current document is referenced externally in a number
of locations, add the sphinx_reredirects module so that we can redirect
from the old location to the new.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Tom Rini
2025-05-07 16:08:17 -06:00
committed by Heinrich Schuchardt
parent 2865a8590f
commit be2bdfd019
8 changed files with 26 additions and 7 deletions

View File

@@ -47,7 +47,8 @@ needs_sphinx = '2.4.4'
extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include',
'kfigure', 'sphinx.ext.ifconfig', # 'automarkup', 'kfigure', 'sphinx.ext.ifconfig', # 'automarkup',
'maintainers_include', 'sphinx.ext.autosectionlabel', 'maintainers_include', 'sphinx.ext.autosectionlabel',
'kernel_abi', 'kernel_feat', 'sphinx-prompt'] 'kernel_abi', 'kernel_feat', 'sphinx-prompt',
'sphinx_reredirects' ]
# #
# cdomain is badly broken in Sphinx 3+. Leaving it out generates *most* # cdomain is badly broken in Sphinx 3+. Leaving it out generates *most*
@@ -148,6 +149,11 @@ project = 'Das U-Boot'
copyright = 'The U-Boot development community' copyright = 'The U-Boot development community'
author = 'The U-Boot development community' author = 'The U-Boot development community'
# Pages we have moved after being heavily referenced externally
redirects = {
"develop/py_testing": "pytest/usage.html"
}
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the
# built documents. # built documents.

View File

@@ -18,7 +18,7 @@ be built with mingw to run on Windows.
Each of the pipelines is written in such as way as to be a "world build" style Each of the pipelines is written in such as way as to be a "world build" style
test and as such we try and build all possible platforms. In addition, for all test and as such we try and build all possible platforms. In addition, for all
platforms that support being run in QEMU we run them in QEMU and use our pytest platforms that support being run in QEMU we run them in QEMU and use our pytest
suite. See :doc:`py_testing` for more information about those tests. suite. See :doc:`pytest/usage` for more information about those tests.
Azure Pipelines Azure Pipelines
--------------- ---------------

View File

@@ -82,7 +82,7 @@ Testing
:maxdepth: 1 :maxdepth: 1
testing testing
py_testing pytest/index
tests_writing tests_writing
tests_sandbox tests_sandbox
binman_tests binman_tests

View File

@@ -0,0 +1,12 @@
.. SPDX-License-Identifier: GPL-2.0+
pytest Framework within U-Boot
==============================
General
-------
.. toctree::
:maxdepth: 1
usage

View File

@@ -13,7 +13,7 @@ results. Advantages of this approach are:
U-Boot; there can be no disconnect. U-Boot; there can be no disconnect.
- There is no need to write or embed test-related code into U-Boot itself. - There is no need to write or embed test-related code into U-Boot itself.
It is asserted that writing test-related code in Python is simpler and more It is asserted that writing test-related code in Python is simpler and more
flexible than writing it all in C. But see :doc:`tests_writing` for caveats flexible than writing it all in C. But see :doc:`../tests_writing` for caveats
and more discussion / analysis. and more discussion / analysis.
- It is reasonably simple to interact with U-Boot in this way. - It is reasonably simple to interact with U-Boot in this way.

View File

@@ -33,7 +33,7 @@ You can also run a selection tests in parallel with::
make pcheck make pcheck
All of the above use the test/run script with a paremeter to select which tests All of the above use the test/run script with a paremeter to select which tests
are run. See :doc:`py_testing` for more information. are run. See :doc:`pytest/usage` for more information.
Sandbox Sandbox
@@ -69,7 +69,7 @@ build::
./test/py/test.py --bd sandbox_spl --build -k test_spl ./test/py/test.py --bd sandbox_spl --build -k test_spl
See :doc:`py_testing` for more information about the pytest suite. See :doc:`pytest/usage` for more information about the pytest suite.
See :doc:`tests_sandbox` for how to run tests directly (not through pytest). See :doc:`tests_sandbox` for how to run tests directly (not through pytest).

View File

@@ -376,5 +376,5 @@ An example SPL test is spl_test_load().
Writing Python tests Writing Python tests
-------------------- --------------------
See :doc:`py_testing` for brief notes how to write Python tests. You See :doc:`pytest/usage` for brief notes how to write Python tests. You
should be able to use the existing tests in test/py/tests as examples. should be able to use the existing tests in test/py/tests as examples.

View File

@@ -15,6 +15,7 @@ six==1.16.0
snowballstemmer==2.2.0 snowballstemmer==2.2.0
Sphinx==8.1.3 Sphinx==8.1.3
sphinx-prompt==1.9.0 sphinx-prompt==1.9.0
sphinx-reredirects==0.1.5
sphinx-rtd-theme==3.0.1 sphinx-rtd-theme==3.0.1
sphinxcontrib-applehelp==2.0.0 sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0 sphinxcontrib-devhelp==2.0.0