Subject: Re: [PATCH v2 07/10] t/unit-tests: convert reftable readwrite test to use clar

From: Patrick Steinhardt <[email-masked]>
Date: Fri, 2 May 2025 11:57:44 +0200

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