diff options
| author | Simon Glass <[email protected]> | 2022-10-20 18:22:50 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2022-10-31 11:02:44 -0400 |
| commit | cbd71fad6d468018727ab04b2bb912989aec0785 (patch) | |
| tree | 64787584abda89116e91efe410fcce1ab326935d /include/test/ut.h | |
| parent | c43635bdbc6cb1e4ba2d9e2f28f7f3cb3b287bf8 (diff) | |
test: Support tests which can only be run manually
At present we normally write tests either in Python or in C. But most
Python tests end up doing a lot of checks which would be better done in C.
Checks done in C are orders of magnitude faster and it is possible to get
full access to U-Boot's internal workings, rather than just relying on
the command line.
The model is to have a Python test set up some things and then use C code
(in a unit test) to check that they were done correctly. But we don't want
those checks to happen as part of normal test running, since each C unit
tests is dependent on the associate Python tests, so cannot run without
it.
To acheive this, add a new UT_TESTF_MANUAL flag to use with the C 'check'
tests, so that they can be skipped by default when the 'ut' command is
used. Require that tests have a name ending with '_norun', so that pytest
knows to skip them.
Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'include/test/ut.h')
| -rw-r--r-- | include/test/ut.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/test/ut.h b/include/test/ut.h index f7217aa8ac5..e0e618b58c2 100644 --- a/include/test/ut.h +++ b/include/test/ut.h @@ -409,9 +409,11 @@ void test_set_state(struct unit_test_state *uts); * @select_name: Name of a single test to run (from the list provided). If NULL * then all tests are run * @runs_per_test: Number of times to run each test (typically 1) + * @force_run: Run tests that are marked as manual-only (UT_TESTF_MANUAL) * Return: 0 if all tests passed, -1 if any failed */ int ut_run_list(const char *name, const char *prefix, struct unit_test *tests, - int count, const char *select_name, int runs_per_test); + int count, const char *select_name, int runs_per_test, + bool force_run); #endif |
