git.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).