test: Call test_pre/post_run() from driver model tests
Ultimately we want to get rid of the special driver model test init and use test_pre_run() and test_post_run() for all tests. As a first step, use those function to handle console recording. For now we need a special case for setting uts->start, but that wil go away once all init is in one place. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
d002a27644
commit
30a0d2064d
3 changed files with 13 additions and 7 deletions
|
@ -144,7 +144,7 @@ struct dm_test_state {
|
|||
|
||||
/* Declare a new driver model test */
|
||||
#define DM_TEST(_name, _flags) \
|
||||
UNIT_TEST(_name, UT_TESTF_DM | (_flags), dm_test)
|
||||
UNIT_TEST(_name, UT_TESTF_DM | UT_TESTF_CONSOLE_REC | (_flags), dm_test)
|
||||
|
||||
/*
|
||||
* struct sandbox_sdl_plat - Platform data for the SDL video driver
|
||||
|
|
|
@ -97,14 +97,14 @@ static int dm_do_test(struct unit_test_state *uts, struct unit_test *test,
|
|||
(test->flags & UT_TESTF_SCAN_FDT))
|
||||
ut_assertok(dm_extended_scan(false));
|
||||
|
||||
/*
|
||||
* Silence the console and rely on console recording to get
|
||||
* our output.
|
||||
*/
|
||||
console_record_reset_enable();
|
||||
ut_assertok(test_pre_run(uts, test));
|
||||
|
||||
if (!state->show_test_output)
|
||||
gd->flags |= GD_FLG_SILENT;
|
||||
test->func(uts);
|
||||
|
||||
ut_assertok(test_post_run(uts, test));
|
||||
|
||||
gd->flags &= ~(GD_FLG_SILENT | GD_FLG_RECORD);
|
||||
state_set_skip_delays(false);
|
||||
|
||||
|
|
|
@ -8,9 +8,13 @@
|
|||
#include <console.h>
|
||||
#include <test/test.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
|
||||
{
|
||||
uts->start = mallinfo();
|
||||
/* DM tests have already done this */
|
||||
if (!(test->flags & UT_TESTF_DM))
|
||||
uts->start = mallinfo();
|
||||
|
||||
if (test->flags & UT_TESTF_CONSOLE_REC) {
|
||||
int ret = console_record_reset_enable();
|
||||
|
@ -26,6 +30,8 @@ int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
|
|||
|
||||
int test_post_run(struct unit_test_state *uts, struct unit_test *test)
|
||||
{
|
||||
gd->flags &= ~GD_FLG_RECORD;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue