diff options
| author | Mattias Andrée <m@maandree.se> | 2026-09-25 23:42:55 +0200 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-09-25 23:42:55 +0200 |
| commit | 4e81cb177ab77904e7a21ce70b9a5506bf09ad6e (patch) | |
| tree | 05634bdcd5b52c25bbeb986748d6b2c5acb728fb /librecrypt_concat_void_.c | |
| parent | m (diff) | |
| download | librecrypt-4e81cb177ab77904e7a21ce70b9a5506bf09ad6e.tar.gz librecrypt-4e81cb177ab77904e7a21ce70b9a5506bf09ad6e.tar.bz2 librecrypt-4e81cb177ab77904e7a21ce70b9a5506bf09ad6e.tar.xz | |
Add tests
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'librecrypt_concat_void_.c')
| -rw-r--r-- | librecrypt_concat_void_.c | 26 |
1 files changed, 25 insertions, 1 deletions
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; |
