console: Add a function to read a line of the output / eof

When recording the console output for testing it is useful to be able to
read the output a line at a time to check that the output is correct. Also
we need to check that we get to the end of the output.

Add a console function to return the next line and another to see how must
data is left.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2020-01-27 08:49:54 -07:00
parent eb7387ae14
commit b612312816
2 changed files with 30 additions and 0 deletions

View File

@ -621,6 +621,17 @@ void console_record_reset_enable(void)
console_record_reset();
gd->flags |= GD_FLG_RECORD;
}
int console_record_readline(char *str, int maxlen)
{
return membuff_readline(&gd->console_out, str, maxlen, ' ');
}
int console_record_avail(void)
{
return membuff_avail(&gd->console_out);
}
#endif
/* test if ctrl-c was pressed */

View File

@ -41,6 +41,25 @@ void console_record_reset(void);
*/
void console_record_reset_enable(void);
/**
* console_record_readline() - Read a line from the console output
*
* This reads the next available line from the console output previously
* recorded.
*
* @str: Place to put string
* @maxlen: Maximum length of @str including nul terminator
* @return length of string returned
*/
int console_record_readline(char *str, int maxlen);
/**
* console_record_avail() - Get the number of available bytes in console output
*
* @return available bytes (0 if empty)
*/
int console_record_avail(void);
/**
* console_announce_r() - print a U-Boot console on non-serial consoles
*