From e4446efadc3c58e17aa30e37b93423d64186c87b Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Wed, 20 Nov 2024 17:00:45 +0100 Subject: [PATCH] Add small unit test for buf_chomp Change-Id: Ia0799189d45223e0b987a5a4da5be60404388f1f Signed-off-by: Arne Schwabe --- tests/unit_tests/openvpn/test_buffer.c | 29 +++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/tests/unit_tests/openvpn/test_buffer.c b/tests/unit_tests/openvpn/test_buffer.c index 0fb46973e..d43d5c1ec 100644 --- a/tests/unit_tests/openvpn/test_buffer.c +++ b/tests/unit_tests/openvpn/test_buffer.c @@ -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);