summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/console.c2
-rw-r--r--include/console.h2
-rw-r--r--test/boot/bootflow.c2
-rw-r--r--test/ut.c8
4 files changed, 8 insertions, 6 deletions
diff --git a/common/console.c b/common/console.c
index 63f78004fdb..85f627297ed 100644
--- a/common/console.c
+++ b/common/console.c
@@ -845,6 +845,8 @@ int console_record_readline(char *str, int maxlen)
{
if (gd->flags & GD_FLG_RECORD_OVF)
return -ENOSPC;
+ if (console_record_isempty())
+ return -ENOENT;
return membuff_readline((struct membuff *)&gd->console_out, str,
maxlen, '\0', false);
diff --git a/include/console.h b/include/console.h
index 2617e160073..6b6d0f9de73 100644
--- a/include/console.h
+++ b/include/console.h
@@ -73,7 +73,7 @@ int console_record_reset_enable(void);
* @str: Place to put string
* @maxlen: Maximum length of @str including nul terminator
* Return: length of string returned, or -ENOSPC if the console buffer was
- * overflowed by the output
+ * overflowed by the output, or -ENOENT if there was nothing to read
*/
int console_record_readline(char *str, int maxlen);
diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c
index 8b46256fa48..8bfc2a1b9b4 100644
--- a/test/boot/bootflow.c
+++ b/test/boot/bootflow.c
@@ -1151,8 +1151,6 @@ static int bootflow_cmdline(struct unit_test_state *uts)
ut_asserteq(0, run_command("bootflow cmdline set mary abc", 0));
ut_asserteq(0, run_command("bootflow cmdline set mary", 0));
- ut_assert_nextline_empty();
-
ut_assert_console_end();
return 0;
diff --git a/test/ut.c b/test/ut.c
index ae99831ac8f..7454da3e001 100644
--- a/test/ut.c
+++ b/test/ut.c
@@ -59,9 +59,11 @@ static int readline_check(struct unit_test_state *uts)
ut_fail(uts, __FILE__, __LINE__, __func__,
"Console record buffer too small - increase CONFIG_CONSOLE_RECORD_OUT_SIZE");
return ret;
+ } else if (ret == -ENOENT) {
+ strcpy(uts->actual_str, "<no-more-output>");
}
- return 0;
+ return ret;
}
int ut_check_console_line(struct unit_test_state *uts, const char *fmt, ...)
@@ -79,8 +81,8 @@ int ut_check_console_line(struct unit_test_state *uts, const char *fmt, ...)
return -EOVERFLOW;
}
ret = readline_check(uts);
- if (ret < 0)
- return ret;
+ if (ret == -ENOENT)
+ return 1;
return strcmp(uts->expect_str, uts->actual_str);
}