All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josh Steadmon <steadmon@google.com>
To: "René Scharfe" <l.s.r@web.de>
Cc: Git List <git@vger.kernel.org>,
	Chandra Pratap <chandrapratap3519@gmail.com>
Subject: Re: [RFC][PATCH] t-prio-queue: simplify using compound literals
Date: Thu, 11 Apr 2024 14:23:57 -0700	[thread overview]
Message-ID: <ZhhU7YBY6brbyZDm@google.com> (raw)
In-Reply-To: <520da361-1b80-4ba3-87b2-86d6fdfc18b5@web.de>

On 2024.04.02 20:30, René Scharfe wrote:
> Test names like "basic" are mentioned seven times in the code (ignoring
> case): Twice when defining the input and result macros, thrice when
> defining the test function, and twice again when calling it.  Reduce
> that to a single time by using compound literals to pass the input and
> result arrays via TEST_INPUT to test_prio_queue().
> 
> Signed-off-by: René Scharfe <l.s.r@web.de>
> ---
> C99 added compound literals.  Are we ready to use them?
> 
> Test definitions become more compact, but look busier due to the added
> punctuation.  We could hide some of it with a sugary macro like this:
> #define INT_ARRAY(...) ((int []){ __VA_ARGS__ })

I definitely like this approach. Reading the original test involved a
lot of jumping around to see which TEST() checked which set of
arguments, now they're all right there in the TEST() call.

Agreed that an INT_ARRAY macro or similar would make it look a bit
nicer, but even without that I think this is a good improvement.

I am in favor of expanding our C99 usage, and ISTM that a unit test is a
friendlier test balloon than production code (although perhaps one that
is easier to miss).

      parent reply	other threads:[~2024-04-11 21:24 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-02 18:30 [RFC][PATCH] t-prio-queue: simplify using compound literals René Scharfe
2024-04-02 20:31 ` Junio C Hamano
2024-04-02 20:41 ` Jeff King
2024-04-05 17:44   ` René Scharfe
2024-04-05 19:17     ` Jeff King
2024-04-05 22:01       ` Junio C Hamano
2024-04-06  7:06         ` René Scharfe
2024-04-07  1:28         ` Jeff King
2024-04-08 16:57           ` Junio C Hamano
2024-04-08 17:09             ` Jeff King
2024-04-11 21:23 ` Josh Steadmon [this message]

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=ZhhU7YBY6brbyZDm@google.com \
    --to=steadmon@google.com \
    --cc=chandrapratap3519@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=l.s.r@web.de \
    /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.