test: Add a way to check part of a console line or skip it
Some lines of the output are not worth testing, or not worth testing in their entirety. For example, when checking a hex dump we know that the hex-dump routine can display ASCII so we only need to check the hex bytes, not the ASCII dump. Add a new test macros which can check only part of a console line. Sometimes it is useful to skip a line altogether, so add a macro for that also. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
22
test/ut.c
22
test/ut.c
@@ -59,6 +59,28 @@ int ut_check_console_line(struct unit_test_state *uts, const char *fmt, ...)
|
||||
return strcmp(uts->expect_str, uts->actual_str);
|
||||
}
|
||||
|
||||
int ut_check_console_linen(struct unit_test_state *uts, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
vsnprintf(uts->expect_str, sizeof(uts->expect_str), fmt, args);
|
||||
va_end(args);
|
||||
console_record_readline(uts->actual_str, sizeof(uts->actual_str));
|
||||
|
||||
return strncmp(uts->expect_str, uts->actual_str,
|
||||
strlen(uts->expect_str));
|
||||
}
|
||||
|
||||
int ut_check_skipline(struct unit_test_state *uts)
|
||||
{
|
||||
if (!console_record_avail())
|
||||
return -ENFILE;
|
||||
console_record_readline(uts->actual_str, sizeof(uts->actual_str));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ut_check_console_end(struct unit_test_state *uts)
|
||||
{
|
||||
if (!console_record_avail())
|
||||
|
||||
Reference in New Issue
Block a user