From: Patrick Steinhardt <ps@pks.im>
To: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
Cc: ach.lumap@gmail.com, chriscool@tuxfamily.org,
christian.couder@gmail.com, git@vger.kernel.org,
gitster@pobox.com, kaartic.sivaraam@gmail.com
Subject: Re: [PATCH v3 3/3] t/: port helper/test-sha256.c to unit-tests/t-hash.c
Date: Fri, 24 May 2024 15:30:32 +0200 [thread overview]
Message-ID: <ZlCWeCJq6qxWrJvI@tanuki> (raw)
In-Reply-To: <20240523235945.26833-4-shyamthakkar001@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2139 bytes --]
On Fri, May 24, 2024 at 05:29:45AM +0530, Ghanshyam Thakkar wrote:
> t/helper/test-sha256 and t/t0015-hash test the hash implementation of
> SHA-256 in Git with basic SHA-256 hash values. Port them to the new
> unit testing framework for better debugging, simplicity and faster
> runtime. The necessary building blocks are already implemented in
> t-hash in the previous commit which ported test-sha1.
>
> The 'sha256' subcommand of test-tool is still not removed, because it
> is used by pack_trailer() in lib-pack.sh, which is used in many tests
> of the t53** series.
Similar question here, are there replacements we can use for it? I also
couldn't see it being used in any test other than t0015 when searing for
"test-tool sha256". Maybe I'm looking for the wrong thing?
[snip]
> -test_done
> diff --git a/t/unit-tests/t-hash.c b/t/unit-tests/t-hash.c
> index 89dfea9cc1..0f86cd3730 100644
> --- a/t/unit-tests/t-hash.c
> +++ b/t/unit-tests/t-hash.c
> @@ -32,11 +32,24 @@ static void check_hash_data(const void *data, size_t data_length,
> TEST(check_hash_data(literal, (sizeof(literal) - 1), expected, GIT_HASH_SHA1), \
> "SHA1 (%s) works", #literal)
>
> +
> +/* Works with a NUL terminated string. Doesn't work if it should contain a NUL character. */
> +#define TEST_SHA256_STR(data, expected) \
> + TEST(check_hash_data(data, strlen(data), expected, GIT_HASH_SHA256), \
> + "SHA256 (%s) works", #data)
> +
> +/* Only works with a literal string, useful when it contains a NUL character. */
> +#define TEST_SHA256_LITERAL(literal, expected) \
> + TEST(check_hash_data(literal, (sizeof(literal) - 1), expected, GIT_HASH_SHA256), \
> + "SHA256 (%s) works", #literal)
> +
Same question here regarding the macros and whether we can merge them.
Also, we do have the same test data for both hashes, and if we ever grow
another hash it's likely that we'll also want to check for the same
inputs there. Would it make sense to have a generic `TAST_HASHES()`
macro where you give the input and then both the expected SHA1 and
SHA256 to avoid some duplication?
Patrick
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-05-24 13:30 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-26 14:33 [Outreachy][PATCH 1/2] strbuf: introduce strbuf_addstrings() to repeatedly add a string Achu Luma
2024-02-26 14:33 ` [Outreachy][PATCH 2/2] Port helper/test-sha256.c and helper/test-sha1.c to unit-tests/t-hash.c Achu Luma
2024-02-26 16:39 ` [Outreachy][PATCH 1/2] strbuf: introduce strbuf_addstrings() to repeatedly add a string Junio C Hamano
2024-02-26 17:15 ` Christian Couder
2024-02-26 18:10 ` Junio C Hamano
2024-02-27 10:07 ` Christian Couder
2024-02-29 5:40 ` [Outreachy][PATCH v2 " Achu Luma
2024-02-29 5:40 ` [Outreachy][PATCH v2 2/2] Port helper/test-sha256.c and helper/test-sha1.c to unit-tests/t-hash.c Achu Luma
2024-03-06 14:25 ` Christian Couder
2024-03-26 11:39 ` Patrick Steinhardt
2024-03-26 11:51 ` Christian Couder
2024-05-16 19:30 ` Ghanshyam Thakkar
2024-05-23 23:59 ` [PATCH v3 0/3] Port t0015-hash to the unit testing framework Ghanshyam Thakkar
2024-05-23 23:59 ` [PATCH v3 1/3] strbuf: introduce strbuf_addstrings() to repeatedly add a string Ghanshyam Thakkar
2024-05-23 23:59 ` [PATCH v3 2/3] t/: port helper/test-sha1.c to unit-tests/t-hash.c Ghanshyam Thakkar
2024-05-24 13:30 ` Patrick Steinhardt
2024-05-24 14:08 ` Christian Couder
2024-05-24 15:49 ` Junio C Hamano
2024-06-15 20:14 ` Ghanshyam Thakkar
2024-06-16 4:52 ` Jeff King
2024-06-17 17:44 ` Junio C Hamano
2024-06-21 18:37 ` Ghanshyam Thakkar
2024-05-23 23:59 ` [PATCH v3 3/3] t/: port helper/test-sha256.c " Ghanshyam Thakkar
2024-05-24 13:30 ` Patrick Steinhardt [this message]
2024-05-25 1:15 ` Ghanshyam Thakkar
2024-05-26 8:43 ` [PATCH v4 0/2] t/: port helper/test-{sha1, sha256} to unit-tests/t-hash Ghanshyam Thakkar
2024-05-26 8:43 ` [PATCH v4 1/2] strbuf: introduce strbuf_addstrings() to repeatedly add a string Ghanshyam Thakkar
2024-05-26 8:43 ` [PATCH v4 2/2] t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hash Ghanshyam Thakkar
2024-05-29 6:26 ` Patrick Steinhardt
2024-05-29 14:54 ` Junio C Hamano
2024-05-29 8:00 ` [GSoC][PATCH v5 0/2] " Ghanshyam Thakkar
2024-05-29 8:00 ` [PATCH v5 1/2] strbuf: introduce strbuf_addstrings() to repeatedly add a string Ghanshyam Thakkar
2024-05-29 8:00 ` [PATCH v5 2/2] t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hash Ghanshyam Thakkar
2024-05-29 9:19 ` [GSoC][PATCH v5 0/2] " Patrick Steinhardt
2024-05-29 16:09 ` 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=ZlCWeCJq6qxWrJvI@tanuki \
--to=ps@pks.im \
--cc=ach.lumap@gmail.com \
--cc=chriscool@tuxfamily.org \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=kaartic.sivaraam@gmail.com \
--cc=shyamthakkar001@gmail.com \
/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).