All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Seyi Kuforiji <kuforiji98@gmail.com>
Cc: git@vger.kernel.org, phillip.wood@dunelm.org.uk
Subject: Re: [PATCH v2 03/10] t/unit-tests: convert reftable block test to use clar
Date: Fri, 2 May 2025 11:57:47 +0200	[thread overview]
Message-ID: <aBSXGz_eIljWbb2H@pks.im> (raw)
In-Reply-To: <20250429175302.23724-4-kuforiji98@gmail.com>

On Tue, Apr 29, 2025 at 06:52:55PM +0100, Seyi Kuforiji wrote:
> diff --git a/t/unit-tests/t-reftable-block.c b/t/unit-tests/t-reftable-block.c
> deleted file mode 100644
> index 22040aeefa..0000000000
> --- a/t/unit-tests/t-reftable-block.c
> +++ /dev/null

Hm, why is this recorded as a delete and creation? Weird, inspecting the
diff locally properly shows it as a rename, which makes it a ton easier
to review. It would be great if you could try to play around with the
`--find-renames` option in the next iteration of this series and double
check that these are shown as a rename.

> diff --git a/t/unit-tests/u-reftable-block.c b/t/unit-tests/u-reftable-block.c
> new file mode 100644
> index 0000000000..af24901230
> --- /dev/null
> +++ b/t/unit-tests/u-reftable-block.c
> @@ -0,0 +1,373 @@
> +/*
> +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
> +*/
> +
> +#include "unit-test.h"
> +#include "reftable/block.h"
> +#include "reftable/blocksource.h"
> +#include "reftable/constants.h"
> +#include "reftable/reftable-error.h"
> +#include "strbuf.h"
> +
> +void test_reftable_block__index_read_write(void)

This doesn't got to do anything with indices but with refs, so I'd
rename this to `__ref_read_write()`.

> +{
> +	const int header_off = 21; /* random */
> +	struct reftable_record recs[30];
> +	const size_t N = ARRAY_SIZE(recs);
> +	const size_t block_size = 1024;
> +	struct reftable_block block = { 0 };
> +	struct block_writer bw = {
> +		.last_key = REFTABLE_BUF_INIT,
> +	};
> +	struct reftable_record rec = {
> +		.type = BLOCK_TYPE_REF,
> +	};
> +	size_t i = 0;
> +	int ret;
> +	struct block_reader br = { 0 };
> +	struct block_iter it = BLOCK_ITER_INIT;
> +	struct reftable_buf want = REFTABLE_BUF_INIT, buf = REFTABLE_BUF_INIT;
> +
> +	REFTABLE_CALLOC_ARRAY(block.data, block_size);
> +	cl_assert(block.data != NULL);
> +	block.len = block_size;
> +	block_source_from_buf(&block.source ,&buf);
> +	ret = block_writer_init(&bw, BLOCK_TYPE_REF, block.data, block_size,
> +				header_off, hash_size(REFTABLE_HASH_SHA1));
> +	cl_assert(ret == 0);

Same comment here, asserts like this can be retained as
`cl_assert(!ret)`.

> +	rec.u.ref.refname = (char *) "";
> +	rec.u.ref.value_type = REFTABLE_REF_DELETION;
> +	ret = block_writer_add(&bw, &rec);
> +	cl_assert_equal_i(ret, REFTABLE_API_ERROR);
> +
> +	for (i = 0; i < N; i++) {
> +		rec.u.ref.refname = xstrfmt("branch%02"PRIuMAX, (uintmax_t)i);
> +		rec.u.ref.value_type = REFTABLE_REF_VAL1;
> +		memset(rec.u.ref.value.val1, i, REFTABLE_HASH_SIZE_SHA1);
> +
> +		recs[i] = rec;
> +		ret = block_writer_add(&bw, &rec);
> +		rec.u.ref.refname = NULL;
> +		rec.u.ref.value_type = REFTABLE_REF_DELETION;
> +		cl_assert_equal_i(ret, 0);
> +	}
> +
> +	ret = block_writer_finish(&bw);
> +	cl_assert(ret > 0);

It's a bit unfortunate that we have to use `cl_assert()` here, but that
isn't the fault of this series. I do have a pull request pending
upstream that introduces integer comparisons. Once we've updated to that
version I'll go through our unit tests and adapt callsites accordingly.

[snip]
> +void test_reftable_block__ref_read_write(void)

This one here should be called `__index_read_write()`. I guess you
confused the first and and this test name with one another.

Patrick

  reply	other threads:[~2025-05-02  9:57 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-29 17:52 [PATCH v2 00/10] t/unit-tests: convert unit-tests to use clar Seyi Kuforiji
2025-04-29 17:52 ` [PATCH v2 01/10] t/unit-tests: implement reftable test helper functions in unit-test.{c,h} Seyi Kuforiji
2025-04-29 23:04   ` Junio C Hamano
2025-05-02  9:57     ` Patrick Steinhardt
2025-05-02  9:57   ` Patrick Steinhardt
2025-04-29 17:52 ` [PATCH v2 02/10] t/unit-tests: convert reftable basics test to use clar test framework Seyi Kuforiji
2025-05-02  9:57   ` Patrick Steinhardt
2025-04-29 17:52 ` [PATCH v2 03/10] t/unit-tests: convert reftable block test to use clar Seyi Kuforiji
2025-05-02  9:57   ` Patrick Steinhardt [this message]
2025-05-05  7:37     ` Seyi Chamber
2025-05-05  9:52       ` Patrick Steinhardt
2025-05-05 21:14         ` Junio C Hamano
2025-05-06  5:10           ` Patrick Steinhardt
2025-04-29 17:52 ` [PATCH v2 04/10] t/unit-tests: convert reftable merged " Seyi Kuforiji
2025-05-02  9:57   ` Patrick Steinhardt
2025-04-29 17:52 ` [PATCH v2 05/10] t/unit-tests: convert reftable pq " Seyi Kuforiji
2025-04-29 17:52 ` [PATCH v2 06/10] t/unit-tests: convert reftable reader " Seyi Kuforiji
2025-05-02  9:57   ` Patrick Steinhardt
2025-04-29 17:52 ` [PATCH v2 07/10] t/unit-tests: convert reftable readwrite " Seyi Kuforiji
2025-05-02  9:57   ` Patrick Steinhardt
2025-04-29 17:53 ` [PATCH v2 08/10] t/unit-tests: convert reftable record " Seyi Kuforiji
2025-04-29 17:53 ` [PATCH v2 09/10] t/unit-tests: convert reftable stack " Seyi Kuforiji
2025-05-02  9:57   ` Patrick Steinhardt
2025-05-05  9:11     ` Seyi Chamber
2025-05-05  9:52       ` Patrick Steinhardt
2025-04-29 17:53 ` [PATCH v2 10/10] t/unit-tests: adapt lib-reftable{c,h} helper functions to clar Seyi Kuforiji
2025-05-02  9:57   ` Patrick Steinhardt
2025-05-05  7:27     ` Seyi Chamber
2025-05-05  9:52       ` Patrick Steinhardt
2025-05-26  9:04         ` Seyi Chamber
2025-05-26 12:56           ` Patrick Steinhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aBSXGz_eIljWbb2H@pks.im \
    --to=ps@pks.im \
    --cc=git@vger.kernel.org \
    --cc=kuforiji98@gmail.com \
    --cc=phillip.wood@dunelm.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.