All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Chandra Pratap <chandrapratap3519@gmail.com>
Cc: git@vger.kernel.org, Christian Couder <chriscool@tuxfamily.org>
Subject: Re: [GSoC][PATCH 2/6] t: move reftable/pq_test.c to the unit testing framework
Date: Thu, 6 Jun 2024 13:48:47 +0200	[thread overview]
Message-ID: <ZmGiH5fxkrby0JyQ@tanuki> (raw)
In-Reply-To: <20240606075601.6989-3-chandrapratap3519@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4354 bytes --]

On Thu, Jun 06, 2024 at 01:10:46PM +0530, Chandra Pratap wrote:
> reftable/pq_test.c exercises a priority queue defined by
> reftable/pq.{c, h}. Migrate reftable/pq_test.c to the unit
> testing framework. Migration involves refactoring the tests
> to use the unit testing framework instead of reftable's test
> framework.
> 
> Mentored-by: Patrick Steinhardt <ps@pks.im>
> Mentored-by: Christian Couder <chriscool@tuxfamily.org>
> Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com>
> ---
>  Makefile                                      |  2 +-
>  t/helper/test-reftable.c                      |  1 -
>  .../pq_test.c => t/unit-tests/t-reftable-pq.c | 35 ++++++++-----------
>  3 files changed, 15 insertions(+), 23 deletions(-)
>  rename reftable/pq_test.c => t/unit-tests/t-reftable-pq.c (64%)
> 
> diff --git a/Makefile b/Makefile
> index 59d98ba688..1cabe4cc69 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1336,6 +1336,7 @@ THIRD_PARTY_SOURCES += sha1dc/%
>  UNIT_TEST_PROGRAMS += t-ctype
>  UNIT_TEST_PROGRAMS += t-mem-pool
>  UNIT_TEST_PROGRAMS += t-prio-queue
> +UNIT_TEST_PROGRAMS += t-reftable-pq
>  UNIT_TEST_PROGRAMS += t-strbuf
>  UNIT_TEST_PROGRAMS += t-strcmp-offset
>  UNIT_TEST_PROGRAMS += t-trailer
> @@ -2675,7 +2676,6 @@ REFTABLE_TEST_OBJS += reftable/basics_test.o
>  REFTABLE_TEST_OBJS += reftable/block_test.o
>  REFTABLE_TEST_OBJS += reftable/dump.o
>  REFTABLE_TEST_OBJS += reftable/merged_test.o
> -REFTABLE_TEST_OBJS += reftable/pq_test.o
>  REFTABLE_TEST_OBJS += reftable/record_test.o
>  REFTABLE_TEST_OBJS += reftable/readwrite_test.o
>  REFTABLE_TEST_OBJS += reftable/stack_test.o
> diff --git a/t/helper/test-reftable.c b/t/helper/test-reftable.c
> index bae731669c..86a2b0f91a 100644
> --- a/t/helper/test-reftable.c
> +++ b/t/helper/test-reftable.c
> @@ -9,7 +9,6 @@ int cmd__reftable(int argc, const char **argv)
>  	record_test_main(argc, argv);
>  	block_test_main(argc, argv);
>  	tree_test_main(argc, argv);
> -	pq_test_main(argc, argv);
>  	readwrite_test_main(argc, argv);
>  	merged_test_main(argc, argv);
>  	stack_test_main(argc, argv);
> diff --git a/reftable/pq_test.c b/t/unit-tests/t-reftable-pq.c
> similarity index 64%
> rename from reftable/pq_test.c
> rename to t/unit-tests/t-reftable-pq.c
> index b7d3c80cc7..dcde73de66 100644
> --- a/reftable/pq_test.c
> +++ b/t/unit-tests/t-reftable-pq.c
> @@ -6,35 +6,28 @@ license that can be found in the LICENSE file or at
>  https://developers.google.com/open-source/licenses/bsd
>  */
>  
> -#include "system.h"
> -
> -#include "basics.h"
> -#include "constants.h"
> -#include "pq.h"
> -#include "record.h"
> -#include "reftable-tests.h"
> -#include "test_framework.h"
> +#include "test-lib.h"
> +#include "reftable/constants.h"
> +#include "reftable/pq.h"
>  
>  void merged_iter_pqueue_check(struct merged_iter_pqueue pq)
>  {
> -	int i;
> -	for (i = 1; i < pq.len; i++) {
> +	for (int i = 1; i < pq.len; i++) {

If we're changing this already, then we can also convert it to `size_t
i` while at it to match the type of `pq.len`.

>  		int parent = (i - 1) / 2;
> -
> -		EXPECT(pq_less(&pq.heap[parent], &pq.heap[i]));
> +		check(pq_less(&pq.heap[parent], &pq.heap[i]));
>  	}
>  }
>  
>  static void test_pq(void)
>  {
> -	struct merged_iter_pqueue pq = { NULL };
> +	struct merged_iter_pqueue pq = { 0 };
>  	struct reftable_record recs[54];
> -	int N = ARRAY_SIZE(recs) - 1, i;
> +	size_t N = ARRAY_SIZE(recs) - 1, i;
>  	char *last = NULL;
>  
>  	for (i = 0; i < N; i++) {
>  		struct strbuf refname = STRBUF_INIT;
> -		strbuf_addf(&refname, "%02d", i);
> +		strbuf_addf(&refname, "%02ld", (long)i);

This should rather be:

    strubf_addf(&refname, "%02"PRIuMAX, (uintmax_t) i);

This is splitting hairs though as it does not matter in practice. But
I'd either drop this change to convert `N` and `i` to become a `size_t`,
or I'd do it correctly.

>  		reftable_record_init(&recs[i], BLOCK_TYPE_REF);
>  		recs[i].u.ref.refname = strbuf_detach(&refname, NULL);
> @@ -48,7 +41,6 @@ static void test_pq(void)
>  
>  		merged_iter_pqueue_add(&pq, &e);
>  		merged_iter_pqueue_check(pq);
> -
>  		i = (i * 7) % N;
>  	} while (i != 1);

This removed newline is of dubious value, but I guess that's
subjective.

Patrick

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2024-06-06 11:48 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-06  7:40 [GSoC][PATCH 0/6] t: port reftable/pq_test.c to the unit testing Chandra Pratap
2024-06-06  7:40 ` [GSoC][PATCH 1/6] reftable: clean up reftable/pq.c Chandra Pratap
2024-06-06  8:51   ` Christian Couder
2024-06-06 10:07     ` Chandra Pratap
2024-06-06 16:23       ` Christian Couder
2024-06-06  7:40 ` [GSoC][PATCH 2/6] t: move reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-06-06 11:48   ` Patrick Steinhardt [this message]
2024-06-06  7:40 ` [GSoC][PATCH 3/6] t-reftable-pq: make merged_iter_pqueue_check() static Chandra Pratap
2024-06-06  7:40 ` [GSoC][PATCH 4/6] t-reftable-pq: make merged_iter_pqueue_check() callable by reference Chandra Pratap
2024-06-06 11:48   ` Patrick Steinhardt
2024-06-06  7:40 ` [GSoC][PATCH 5/6] t-reftable-pq: add test for index based comparison Chandra Pratap
2024-06-06 11:48   ` Patrick Steinhardt
2024-06-06  7:40 ` [GSoC][PATCH 6/6] t-reftable-pq: add tests for merged_iter_pqueue_top() Chandra Pratap
2024-06-06 11:49   ` Patrick Steinhardt
2024-06-06 15:23 ` [GSoC][PATCH v2 0/6] t: port reftable/pq_test.c to the unit testing Chandra Pratap
2024-06-06 15:23   ` [GSoC][PATCH v2 1/6] reftable: clean up reftable/pq.c Chandra Pratap
2024-06-10  7:36     ` Patrick Steinhardt
2024-06-06 15:23   ` [GSoC][PATCH v2 2/6] t: move reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-06-06 15:23   ` [GSoC][PATCH v2 3/6] t-reftable-pq: make merged_iter_pqueue_check() static Chandra Pratap
2024-06-06 15:23   ` [GSoC][PATCH v2 4/6] t-reftable-pq: make merged_iter_pqueue_check() callable by reference Chandra Pratap
2024-06-06 15:23   ` [GSoC][PATCH v2 5/6] t-reftable-pq: add test for index based comparison Chandra Pratap
2024-06-06 15:23   ` [GSoC][PATCH v2 6/6] t-reftable-pq: add tests for merged_iter_pqueue_top() Chandra Pratap
2024-06-11  8:19   ` [GSoC][PATCH v3 0/7] t: port reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-06-11  8:19     ` [PATCH v3 1/7] reftable: remove unncessary curly braces in reftable/pq.c Chandra Pratap
2024-06-11  8:19     ` [PATCH v3 2/7] reftable: change the type of array indices to 'size_t' " Chandra Pratap
2024-06-11  9:02       ` Patrick Steinhardt
2024-06-11  8:19     ` [PATCH v3 3/7] t: move reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-06-11  8:19     ` [PATCH v3 4/7] t-reftable-pq: make merged_iter_pqueue_check() static Chandra Pratap
2024-06-11  8:19     ` [PATCH v3 5/7] t-reftable-pq: make merged_iter_pqueue_check() callable by reference Chandra Pratap
2024-06-11  8:19     ` [PATCH v3 6/7] t-reftable-pq: add test for index based comparison Chandra Pratap
2024-06-11  8:19     ` [PATCH v3 7/7] t-reftable-pq: add tests for merged_iter_pqueue_top() Chandra Pratap
2024-06-14  9:48     ` [GSoC][PATCH v4 0/7] t: port reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-06-14  9:48       ` [PATCH v4 1/7] reftable: remove unncessary curly braces in reftable/pq.c Chandra Pratap
2024-06-14  9:48       ` [PATCH v4 2/7] reftable: change the type of array indices to 'size_t' " Chandra Pratap
2024-06-14  9:48       ` [PATCH v4 3/7] t: move reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-06-14  9:48       ` [PATCH v4 4/7] t-reftable-pq: make merged_iter_pqueue_check() static Chandra Pratap
2024-06-14  9:48       ` [PATCH v4 5/7] t-reftable-pq: make merged_iter_pqueue_check() callable by reference Chandra Pratap
2024-06-14  9:48       ` [PATCH v4 6/7] t-reftable-pq: add test for index based comparison Chandra Pratap
2024-06-14  9:48       ` [PATCH v4 7/7] t-reftable-pq: add tests for merged_iter_pqueue_top() Chandra Pratap
2024-06-14 17:40       ` [GSoC][PATCH v4 0/7] t: port reftable/pq_test.c to the unit testing framework Junio C Hamano
2024-07-23 14:17       ` [GSoC][PATCH v5 " Chandra Pratap
2024-07-23 14:17         ` [PATCH v5 1/7] reftable: remove unncessary curly braces in reftable/pq.c Chandra Pratap
2024-07-23 14:17         ` [PATCH v5 2/7] reftable: change the type of array indices to 'size_t' " Chandra Pratap
2024-07-23 14:17         ` [PATCH v5 3/7] t: move reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-07-23 14:17         ` [PATCH v5 4/7] t-reftable-pq: make merged_iter_pqueue_check() static Chandra Pratap
2024-07-23 14:17         ` [PATCH v5 5/7] t-reftable-pq: make merged_iter_pqueue_check() callable by reference Chandra Pratap
2024-07-23 14:17         ` [PATCH v5 6/7] t-reftable-pq: add test for index based comparison Chandra Pratap
2024-07-24  9:03           ` Patrick Steinhardt
2024-07-24 16:15             ` Junio C Hamano
2024-07-25  5:10               ` Patrick Steinhardt
2024-07-23 14:17         ` [PATCH v5 7/7] t-reftable-pq: add tests for merged_iter_pqueue_top() Chandra Pratap
2024-07-23 17:09         ` [GSoC][PATCH v5 0/7] t: port reftable/pq_test.c to the unit testing framework Junio C Hamano
2024-07-24  5:12           ` Chandra Pratap
2024-07-24  7:17             ` Christian Couder
2024-07-24  7:51               ` Chandra Pratap
2024-07-24  8:56               ` Patrick Steinhardt
2024-07-24 16:06                 ` Junio C Hamano
2024-07-25  9:25         ` [GSoC][PATCH v6 " Chandra Pratap
2024-07-25  9:25           ` [PATCH v6 1/7] reftable: remove unncessary curly braces in reftable/pq.c Chandra Pratap
2024-07-25 13:29             ` Kristoffer Haugsbakk
2024-07-25  9:25           ` [PATCH v6 2/7] reftable: change the type of array indices to 'size_t' " Chandra Pratap
2024-07-25  9:25           ` [PATCH v6 3/7] t: move reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-07-25  9:25           ` [PATCH v6 4/7] t-reftable-pq: make merged_iter_pqueue_check() static Chandra Pratap
2024-07-25  9:25           ` [PATCH v6 5/7] t-reftable-pq: make merged_iter_pqueue_check() callable by reference Chandra Pratap
2024-07-25  9:25           ` [PATCH v6 6/7] t-reftable-pq: add test for index based comparison Chandra Pratap
2024-07-30  6:03             ` Patrick Steinhardt
2024-07-25  9:25           ` [PATCH v6 7/7] t-reftable-pq: add tests for merged_iter_pqueue_top() Chandra Pratap
2024-07-30  6:04             ` Patrick Steinhardt
2024-08-01 10:59           ` [GSoC][PATCH v7 0/7] t: port reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-08-01 10:59             ` [PATCH v7 1/7] reftable: remove unnecessary curly braces in reftable/pq.c Chandra Pratap
2024-08-01 10:59             ` [PATCH v7 2/7] reftable: change the type of array indices to 'size_t' " Chandra Pratap
2024-08-01 10:59             ` [PATCH v7 3/7] t: move reftable/pq_test.c to the unit testing framework Chandra Pratap
2024-08-01 10:59             ` [PATCH v7 4/7] t-reftable-pq: make merged_iter_pqueue_check() static Chandra Pratap
2024-08-01 10:59             ` [PATCH v7 5/7] t-reftable-pq: make merged_iter_pqueue_check() callable by reference Chandra Pratap
2024-08-01 10:59             ` [PATCH v7 6/7] t-reftable-pq: add test for index based comparison Chandra Pratap
2024-08-01 10:59             ` [PATCH v7 7/7] t-reftable-pq: add tests for merged_iter_pqueue_top() Chandra Pratap
2024-08-01 11:43             ` [GSoC][PATCH v7 0/7] t: port reftable/pq_test.c to the unit testing framework Patrick Steinhardt
2024-08-01 16:07               ` Junio C Hamano

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=ZmGiH5fxkrby0JyQ@tanuki \
    --to=ps@pks.im \
    --cc=chandrapratap3519@gmail.com \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    /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.