On Tue, Apr 29, 2025 at 06:52:59PM +0100, Seyi Kuforiji wrote: > diff --git a/t/unit-tests/u-reftable-readwrite.c b/t/unit-tests/u-reftable-readwrite.c > new file mode 100644 > index 0000000000..3d6bdcfceb > --- /dev/null > +++ b/t/unit-tests/u-reftable-readwrite.c > @@ -0,0 +1,870 @@ > +/* > +Copyright 2020 Google LLC > + > +Use of this source code is governed by a BSD-style > +license that can be found in the LICENSE file or at > +https://developers.google.com/open-source/licenses/bsd > +*/ > + > +#define DISABLE_SIGN_COMPARE_WARNINGS > + > +#include "unit-test.h" > +#include "lib-reftable.h" > +#include "reftable/basics.h" > +#include "reftable/blocksource.h" > +#include "reftable/reader.h" > +#include "reftable/reftable-error.h" > +#include "reftable/reftable-writer.h" > +#include "strbuf.h" > + > +static const int update_index = 5; > + > +void test_reftable_readwrite__buffer(void) > +{ > + struct reftable_buf buf = REFTABLE_BUF_INIT; > + struct reftable_block_source source = { 0 }; > + struct reftable_block out = { 0 }; > + int n; > + uint8_t in[] = "hello"; > + cl_assert(reftable_buf_add(&buf, in, sizeof(in)) == 0); > + block_source_from_buf(&source, &buf); > + cl_assert_equal_i(block_source_size(&source), 6); > + n = block_source_read_block(&source, &out, 0, sizeof(in)); > + cl_assert_equal_i(n, sizeof(in)); > + cl_assert(memcmp(in, out.data, n) == 0); It feels inconsisetnt that we use `cl_assert_equal_i()` to check for `n` but `cl_assert(... == 0)` here. Patrick