[Openvpn-devel,v1] test_buffer: Add test for buf_null_terminate
Commit Message
From: Frank Lichtenheld <frank@lichtenheld.com>
Change-Id: I01683153a68e1809a4d7ab455eb346f53780e219
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1580
---
This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1580
This mail reflects revision 1 of this Change.
Acked-by according to Gerrit (reflected above):
Gert Doering <gert@greenie.muc.de>
Comments
This is easy - it adds a test instance to one of the pre-existing unit
tests, the test works
[ RUN ] test_buffer_null_terminate
[ OK ] test_buffer_null_terminate
.. and it does so on all the instances in buildbot. In it goes...
Your patch has been applied to the master branch.
commit 798884d6df200c95b2c22de31860f3e35be617f7
Author: Frank Lichtenheld
Date: Tue Apr 7 11:50:38 2026 +0200
test_buffer: Add test for buf_null_terminate
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1580
Message-Id: <20260407095044.28528-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg36532.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
@@ -460,6 +460,32 @@
gc_free(&gc);
}
+void
+test_buffer_null_terminate(void **state)
+{
+ struct gc_arena gc = gc_new();
+
+ struct buffer buf = alloc_buf_gc(5, &gc);
+ const char test1[] = "1234";
+ const char test2[] = "12345";
+ assert_true(buf_write(&buf, test1, sizeof(test1)));
+ assert_string_equal(BSTR(&buf), "1234");
+ buf_null_terminate(&buf);
+ assert_string_equal(BSTR(&buf), "1234");
+
+ assert_true(buf_inc_len(&buf, -1));
+ assert_true(buf_write_u8(&buf, '5'));
+ assert_memory_equal(BPTR(&buf), test2, strlen(test2));
+ buf_null_terminate(&buf);
+ assert_string_equal(BSTR(&buf), "1234");
+
+ struct buffer buf2;
+ CLEAR(buf2);
+ buf_null_terminate(&buf2);
+
+ gc_free(&gc);
+}
+
/* for building long texts */
#define A_TIMES_256 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO"
@@ -540,6 +566,7 @@
cmocka_unit_test(test_snprintf),
cmocka_unit_test(test_checked_snprintf),
cmocka_unit_test(test_buffer_chomp),
+ cmocka_unit_test(test_buffer_null_terminate),
cmocka_unit_test(test_buffer_parse)
};