Add small unit test for buf_chomp

Change-Id: Ia0799189d45223e0b987a5a4da5be60404388f1f
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20241225165629.5558-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg30206.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
Arne Schwabe 2024-12-25 17:56:29 +01:00 committed by Gert Doering
parent 993449a3b6
commit bd629d7c8b

View File

@ -426,6 +426,32 @@ test_snprintf(void **state)
#endif
}
void
test_buffer_chomp(void **state)
{
struct gc_arena gc = gc_new();
struct buffer buf = alloc_buf_gc(1024, &gc);
const char test1[] = "There is a nice 1234 year old tree!\n\r";
buf_write(&buf, test1, sizeof(test1));
buf_chomp(&buf);
/* Check that our own method agrees */
assert_true(string_check_buf(&buf, CC_PRINT | CC_NULL, CC_CRLF));
assert_string_equal(BSTR(&buf), "There is a nice 1234 year old tree!");
struct buffer buf2 = alloc_buf_gc(1024, &gc);
const char test2[] = "CR_RESPONSE,MTIx\x0a\x00";
buf_write(&buf2, test2, sizeof(test2));
buf_chomp(&buf2);
buf_chomp(&buf2);
/* Check that our own method agrees */
assert_true(string_check_buf(&buf2, CC_PRINT | CC_NULL, CC_CRLF));
assert_string_equal(BSTR(&buf2), "CR_RESPONSE,MTIx");
gc_free(&gc);
}
int
main(void)
{
@ -460,7 +486,8 @@ main(void)
cmocka_unit_test(test_buffer_gc_realloc),
cmocka_unit_test(test_character_class),
cmocka_unit_test(test_character_string_mod_buf),
cmocka_unit_test(test_snprintf)
cmocka_unit_test(test_snprintf),
cmocka_unit_test(test_buffer_chomp)
};
return cmocka_run_group_tests_name("buffer", tests, NULL, NULL);