[PATCH 05/30] doc: Document how sandbox_spl_tests are run

Heinrich Schuchardt xypron.glpk at gmx.de
Thu Jan 28 17:33:18 CET 2021


On 28.01.21 16:11, Simon Glass wrote:
> Add a few notes about the sandbox_spl tests, since they are special.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>  doc/develop/testing.rst     |  5 ++++
>  doc/develop/tests_under.rst | 59 +++++++++++++++++++++++++++++++++++++
>  2 files changed, 64 insertions(+)
>
> diff --git a/doc/develop/testing.rst b/doc/develop/testing.rst
> index 593ca50de36..46e8d20322f 100644
> --- a/doc/develop/testing.rst
> +++ b/doc/develop/testing.rst
> @@ -53,6 +53,11 @@ also select particular tests with -k::
>
>     ./test/py/test.py --bd sandbox_flattree --build -k hello
>
> +There are some special tests that run in SPL. For this you need the sandbox_spl
> +build::
> +
> +   ./test/py/test.py --bd sandbox_spl --build -k test_spl
> +
>  See test/py/README.md for more information about the pytest suite.
>
>
> diff --git a/doc/develop/tests_under.rst b/doc/develop/tests_under.rst
> index 85bbd4f6734..ca9003f18bd 100644
> --- a/doc/develop/tests_under.rst
> +++ b/doc/develop/tests_under.rst
> @@ -77,3 +77,62 @@ You can easily use gdb on these tests, without needing --gdbserver::
>
>  You can then single-step and look at variables as needed.
>
> +
> +Running sandbox_spl tests directly
> +----------------------------------
> +
> +SPL is the phase before U-Boot proper. It is present in the sandbox_spl build,
> +so you can run SPL like this::
> +
> +   ./spl/u-boot-spl
> +
> +SPL tests are special in that run in the SPL phase, if the -u flag is given.
> +There is no way to select which tests run: all of them are run::
> +
> +   ./spl/u-boot-spl  -u
> +
> +   U-Boot SPL 2021.01-00723-g43c77b51be5-dirty (Jan 24 2021 - 16:38:24 -0700)
> +   Running 5 driver model tests
> +   Test: dm_test_of_plat_base: of_platdata.c (flat tree)
> +   Test: dm_test_of_plat_dev: of_platdata.c (flat tree)
> +   Test: dm_test_of_plat_parent: of_platdata.c (flat tree)
> +   Test: dm_test_of_plat_phandle: of_platdata.c (flat tree)
> +   Test: dm_test_of_plat_props: of_platdata.c (flat tree)
> +   Failures: 0
> +
> +
> +   U-Boot 2021.01-00723-g43c77b51be5-dirty (Jan 24 2021 - 16:38:24 -0700)
> +
> +   DRAM:  128 MiB
> +   ...
> +
> +
> +Note that after running, SPL continues to boot into U-Boot proper. You can add
> +'-c exit' to make U-Boot quit without doing anything further. It is not
> +currently possible to run SPL tests and then stop, since the pytests require
> +that U-Boot produces the expected banner.
> +
> +Of course you can use gdb with sandbox_spl, just as with sandbox.
> +
> +
> +What tests are built in?
> +------------------------
> +
> +Whatever sandbox build is used, which tests are present is determined by which
> +source files are built. For sandbox_spl, the of_platdata tests are built
> +because of the build rule in test/dm/Makefile::
> +
> +   ifeq ($(CONFIG_SPL_BUILD),y)
> +   obj-$(CONFIG_SPL_OF_PLATDATA) += of_platdata.o
> +   else
> +   ...other tests for non-spl
> +   endif
> +
> +You can get list of tests in a U-Boot ELF file by looking for the linker_list::

get a list

Regards

Heinrich

> +
> +   nm /tmp/b/sandbox_spl/spl/u-boot-spl |grep 2_dm_test
> +   000000000001f200 D _u_boot_list_2_dm_test_2_dm_test_of_plat_base
> +   000000000001f220 D _u_boot_list_2_dm_test_2_dm_test_of_plat_dev
> +   000000000001f240 D _u_boot_list_2_dm_test_2_dm_test_of_plat_parent
> +   000000000001f260 D _u_boot_list_2_dm_test_2_dm_test_of_plat_phandle
> +   000000000001f280 D _u_boot_list_2_dm_test_2_dm_test_of_plat_props
>



More information about the U-Boot mailing list