membuf: Add a function to set up a static membuf

Add a way to set up a membuf with some pre-loaded data, so it is
possible to read it out using membuf_readline(), etc.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2025-08-28 14:22:29 -06:00
parent f3005834f6
commit 05990c1bb8
3 changed files with 43 additions and 1 deletions

View File

@@ -242,3 +242,22 @@ static int lib_test_membuf_readline(struct unit_test_state *uts)
return 0;
}
LIB_TEST(lib_test_membuf_readline, 0);
/* test membuf_readline() with generated data */
static int lib_test_membuf_init(struct unit_test_state *uts)
{
struct membuf mb;
char buf[10], out[10];
int len;
strcpy(buf, "hello");
len = strlen(buf);
membuf_init_with_data(&mb, buf, len);
ut_asserteq_ptr(buf, mb.start);
ut_asserteq(len, membuf_avail(&mb));
ut_asserteq(len, membuf_readline(&mb, out, sizeof(out), 0, false));
ut_asserteq_str("hello", out);
return 0;
}
LIB_TEST(lib_test_membuf_init, 0);