diff options
author | Simon Glass <sjg@chromium.org> | 2020-10-25 20:38:28 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2020-10-29 14:42:18 -0600 |
commit | b25ff5cbaaaa7f144eb6e087b4bdd7362c58029d (patch) | |
tree | 1e66e58ac5f5c7e454c4267b9433de71e01fa7be /include/test | |
parent | 5b448ce687c0f34b0b55ffe5785b14d762b2296d (diff) | |
download | u-boot-b25ff5cbaaaa7f144eb6e087b4bdd7362c58029d.zip u-boot-b25ff5cbaaaa7f144eb6e087b4bdd7362c58029d.tar.gz u-boot-b25ff5cbaaaa7f144eb6e087b4bdd7362c58029d.tar.bz2 |
dm: test: Add a way to run SPL tests
Add a -u flag for U-Boot SPL which requests that unit tests be run. To
make this work, export dm_test_main() and update it to skip test features
that are not used with of-platdata.
To run the tests:
$ spl/u-boot-spl -u
U-Boot SPL 2020.10-rc5 (Oct 01 2020 - 07:35:39 -0600)
Running 0 driver model tests
Failures: 0
At present there are no SPL unit tests.
Note that there is one wrinkle with these tests. SPL has limited memory
available for allocation. Also malloc_simple does not free memory
(free() is a nop) and running tests repeatedly causes driver-model to
reinit multiple times and allocate memory. Therefore it is not possible
to run more than a few tests at a time. One solution is to increase the
amount of malloc space in sandbox_spl. This is not a problem for pytest,
since it runs each test individually, so for now this is left as is.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/test')
-rw-r--r-- | include/test/test.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/test/test.h b/include/test/test.h index 67c7d69..03e2929 100644 --- a/include/test/test.h +++ b/include/test/test.h @@ -94,4 +94,15 @@ enum { TEST_DEVRES_SIZE3 = 37, }; +/** + * dm_test_main() - Run driver model tests + * + * Run all the available driver model tests, or a selection + * + * @test_name: Name of single test to run (e.g. "dm_test_fdt_pre_reloc" or just + * "fdt_pre_reloc"), or NULL to run all + * @return 0 if all tests passed, 1 if not + */ +int dm_test_main(const char *test_name); + #endif /* __TEST_TEST_H */ |