diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2023-01-31 11:30:46 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2023-01-31 18:04:25 +0100 |
commit | 72c8155d9fc0eaeac72c053f46ebb7b231d4596a (patch) | |
tree | 5758865289c52fa93f56e3fe743bb40c283c5233 /lib/io/test/sparse_fb.c | |
parent | cdccc69c62579b0c13b35fad0728079652b8f3c9 (diff) |
Reintegrate test code with library code
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/io/test/sparse_fb.c')
-rw-r--r-- | lib/io/test/sparse_fb.c | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/io/test/sparse_fb.c b/lib/io/test/sparse_fb.c new file mode 100644 index 0000000..fa4b840 --- /dev/null +++ b/lib/io/test/sparse_fb.c @@ -0,0 +1,66 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later */ +/* + * get_line.c + * + * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> + */ +#include "config.h" + +#include "io/ostream.h" +#include "util/test.h" +#include "util/util.h" + +static ostream_t dummy; +static size_t total = 0; + +static int dummy_append(ostream_t *strm, const void *data, size_t size) +{ + bool bret; + + TEST_ASSERT(strm == &dummy); + TEST_NOT_NULL(data); + TEST_ASSERT(size > 0); + + bret = is_memory_zero(data, size); + TEST_ASSERT(bret); + + bret = SZ_ADD_OV(total, size, &total); + TEST_ASSERT(!bret); + return 0; +} + +static int dummy_flush(ostream_t *strm) +{ + TEST_ASSERT(strm == &dummy); + return 0; +} + +static ostream_t dummy = { + { + 1, + NULL, + NULL, + }, + dummy_append, + NULL, + dummy_flush, + NULL, +}; + +int main(int argc, char **argv) +{ + size_t ref; + int ret; + (void)argc; (void)argv; + + ref = 131072 + 1337; + + ret = ostream_append_sparse(&dummy, ref); + TEST_EQUAL_I(ret, 0); + + ret = ostream_flush(&dummy); + TEST_EQUAL_I(ret, 0); + + TEST_EQUAL_UI(ref, total); + return EXIT_SUCCESS; +} |