From 4e81cb177ab77904e7a21ce70b9a5506bf09ad6e Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 25 Sep 2026 23:42:55 +0200 Subject: Add tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- librecrypt_concat_void_.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'librecrypt_concat_void_.c') diff --git a/librecrypt_concat_void_.c b/librecrypt_concat_void_.c index 889aed1..82bbef6 100644 --- a/librecrypt_concat_void_.c +++ b/librecrypt_concat_void_.c @@ -12,10 +12,34 @@ extern inline size_t librecrypt_concat_void_(struct concat_state *state, size_t int main(void) { + char buf[4]; + struct concat_state state = {buf, sizeof(buf), 0u}; + SET_UP_ALARM(); + INIT_TEST_ABORT(); INIT_RESOURCE_TEST(); - /* TODO test */ + memset(buf, 'x', sizeof(buf)); + + assert(librecrypt_concat_void_(&state, 2u) == 2u); + assert(state.buf == &buf[2u]); + assert(state.size == 2u); + assert(state.len == 2u); + assert(!memcmp(buf, "xx\0x", sizeof(buf))); + assert(librecrypt_concat_void_(&state, 5u) == 1u); + assert(state.buf == &buf[3u]); + assert(state.size == 1u); + assert(state.len == 7u); + assert(!memcmp(buf, "xx\0\0", sizeof(buf))); + + state = (struct concat_state){NULL, 0u, 0u}; + assert(librecrypt_concat_void_(&state, 5u) == 0u); + assert(state.buf == NULL); + assert(state.size == 0u); + assert(state.len == 5u); + + state = (struct concat_state){NULL, 0u, SIZE_MAX}; + EXPECT_ABORT(state.size = librecrypt_concat_void_(&state, 1u)); STOP_RESOURCE_TEST(); return 0; -- cgit v1.3.1