mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-24 20:54:24 +08:00
test: Avoid assuming sandbox board for bloblist test
This tests assumes it is running on sandbox. Add a few functions to handle silencing the console on any board and use those instead. Reported-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
12fc1f3bb2
commit
ef7e264944
@ -338,4 +338,22 @@ ulong ut_check_free(void);
|
||||
*/
|
||||
long ut_check_delta(ulong last);
|
||||
|
||||
/**
|
||||
* ut_silence_console() - Silence the console if requested by the user
|
||||
*
|
||||
* This stops test output from appear on the console. It is the default on
|
||||
* sandbox, unless the -v flag is given. For other boards, this does nothing.
|
||||
*
|
||||
* @uts: Test state (in case in future we want to keep state here)
|
||||
*/
|
||||
void ut_silence_console(struct unit_test_state *uts);
|
||||
|
||||
/**
|
||||
* ut_unsilence_console() - Unsilence the console after a test
|
||||
*
|
||||
* This restarts console output again and turns off console recording. This
|
||||
* happens on all boards, including sandbox.
|
||||
*/
|
||||
void ut_unsilence_console(struct unit_test_state *uts);
|
||||
|
||||
#endif
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include <bloblist.h>
|
||||
#include <log.h>
|
||||
#include <mapmem.h>
|
||||
#include <asm/state.h>
|
||||
#include <test/suites.h>
|
||||
#include <test/test.h>
|
||||
#include <test/ut.h>
|
||||
@ -240,7 +239,6 @@ BLOBLIST_TEST(bloblist_test_checksum, 0);
|
||||
/* Test the 'bloblist info' command */
|
||||
static int bloblist_test_cmd_info(struct unit_test_state *uts)
|
||||
{
|
||||
struct sandbox_state *state = state_get_current();
|
||||
struct bloblist_hdr *hdr;
|
||||
char *data, *data2;
|
||||
|
||||
@ -250,8 +248,7 @@ static int bloblist_test_cmd_info(struct unit_test_state *uts)
|
||||
data2 = bloblist_ensure(TEST_TAG2, TEST_SIZE2);
|
||||
|
||||
console_record_reset_enable();
|
||||
if (!state->show_test_output)
|
||||
gd->flags |= GD_FLG_SILENT;
|
||||
ut_silence_console(uts);
|
||||
console_record_reset();
|
||||
run_command("bloblist info", 0);
|
||||
ut_assert_nextline("base: %lx", (ulong)map_to_sysmem(hdr));
|
||||
@ -259,7 +256,7 @@ static int bloblist_test_cmd_info(struct unit_test_state *uts)
|
||||
ut_assert_nextline("alloced: 70 112 Bytes");
|
||||
ut_assert_nextline("free: 390 912 Bytes");
|
||||
ut_assert_console_end();
|
||||
gd->flags &= ~(GD_FLG_SILENT | GD_FLG_RECORD);
|
||||
ut_unsilence_console(uts);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -268,7 +265,6 @@ BLOBLIST_TEST(bloblist_test_cmd_info, 0);
|
||||
/* Test the 'bloblist list' command */
|
||||
static int bloblist_test_cmd_list(struct unit_test_state *uts)
|
||||
{
|
||||
struct sandbox_state *state = state_get_current();
|
||||
struct bloblist_hdr *hdr;
|
||||
char *data, *data2;
|
||||
|
||||
@ -278,8 +274,7 @@ static int bloblist_test_cmd_list(struct unit_test_state *uts)
|
||||
data2 = bloblist_ensure(TEST_TAG2, TEST_SIZE2);
|
||||
|
||||
console_record_reset_enable();
|
||||
if (!state->show_test_output)
|
||||
gd->flags |= GD_FLG_SILENT;
|
||||
ut_silence_console(uts);
|
||||
console_record_reset();
|
||||
run_command("bloblist list", 0);
|
||||
ut_assert_nextline("Address Size Tag Name");
|
||||
@ -288,7 +283,7 @@ static int bloblist_test_cmd_list(struct unit_test_state *uts)
|
||||
ut_assert_nextline("%08lx %8x 2 SPL hand-off",
|
||||
(ulong)map_to_sysmem(data2), TEST_SIZE2);
|
||||
ut_assert_console_end();
|
||||
gd->flags &= ~(GD_FLG_SILENT | GD_FLG_RECORD);
|
||||
ut_unsilence_console(uts);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
18
test/ut.c
18
test/ut.c
@ -8,6 +8,9 @@
|
||||
#include <common.h>
|
||||
#include <console.h>
|
||||
#include <malloc.h>
|
||||
#ifdef CONFIG_SANDBOX
|
||||
#include <asm/state.h>
|
||||
#endif
|
||||
#include <test/test.h>
|
||||
#include <test/ut.h>
|
||||
|
||||
@ -114,3 +117,18 @@ int ut_check_console_dump(struct unit_test_state *uts, int total_bytes)
|
||||
|
||||
return upto == total_bytes ? 0 : 1;
|
||||
}
|
||||
|
||||
void ut_silence_console(struct unit_test_state *uts)
|
||||
{
|
||||
#ifdef CONFIG_SANDBOX
|
||||
struct sandbox_state *state = state_get_current();
|
||||
|
||||
if (!state->show_test_output)
|
||||
gd->flags |= GD_FLG_SILENT;
|
||||
#endif
|
||||
}
|
||||
|
||||
void ut_unsilence_console(struct unit_test_state *uts)
|
||||
{
|
||||
gd->flags &= ~(GD_FLG_SILENT | GD_FLG_RECORD);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user