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 <[email protected]> > --- > > 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 >

