git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 3/3] t/: port helper/test-sha256.c to unit-tests/t-hash.c

From
Patrick Steinhardt <ps@pks.im>
Date
May 24, 2024, 13:30 UTC
Message-ID
<ZlCWeCJq6qxWrJvI@tanuki>
In-Reply-To
<20240523235945.26833-4-shyamthakkar001@gmail.com>
On Fri, May 24, 2024 at 05:29:45AM +0530, Ghanshyam Thakkar wrote:
Show 9 quoted lines
> 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]
Show 20 quoted lines
> -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
Previous: Ghanshyam ThakkarNext: Ghanshyam Thakkar
Message 24 of 35 in “strbuf: introduce strbuf_addstrings() to repeatedly add a string”
  1. Achu LumaFeb 26, 2024
  2. [Outreachy][PATCH 2/2] Port helper/test-sha256.c and helper/test-sha1.c to unit-tests/t-hash.cAchu Luma, Feb 26, 2024
  3. Junio C HamanoFeb 26, 2024
  4. Christian CouderFeb 26, 2024
  5. Junio C HamanoFeb 26, 2024
  6. Christian CouderFeb 27, 2024
  7. [Outreachy][PATCH v2 1/2] strbuf: introduce strbuf_addstrings() to repeatedly add a stringAchu Luma, Feb 29, 2024
  8. [Outreachy][PATCH v2 2/2] Port helper/test-sha256.c and helper/test-sha1.c to unit-tests/t-hash.cAchu Luma, Feb 29, 2024
  9. Christian CouderMar 6, 2024
  10. Patrick SteinhardtMar 26, 2024
  11. Christian CouderMar 26, 2024
  12. Ghanshyam ThakkarMay 16, 2024
  13. 0/3 Port t0015-hash to the unit testing frameworkGhanshyam Thakkar, May 23, 2024
  14. 1/3 strbuf: introduce strbuf_addstrings() to repeatedly add a stringGhanshyam Thakkar, May 23, 2024
  15. 2/3 t/: port helper/test-sha1.c to unit-tests/t-hash.cGhanshyam Thakkar, May 23, 2024
  16. Patrick SteinhardtMay 24, 2024
  17. Christian CouderMay 24, 2024
  18. Junio C HamanoMay 24, 2024
  19. Ghanshyam ThakkarJun 15, 2024
  20. Jeff KingJun 16, 2024
  21. Junio C HamanoJun 17, 2024
  22. Ghanshyam ThakkarJun 21, 2024
  23. 3/3 t/: port helper/test-sha256.c to unit-tests/t-hash.cGhanshyam Thakkar, May 23, 2024
  24. Patrick SteinhardtMay 24, 2024
  25. Ghanshyam ThakkarMay 25, 2024
  26. 0/2 t/: port helper/test-{sha1, sha256} to unit-tests/t-hashGhanshyam Thakkar, May 26, 2024
  27. 1/2 strbuf: introduce strbuf_addstrings() to repeatedly add a stringGhanshyam Thakkar, May 26, 2024
  28. 2/2 t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hashGhanshyam Thakkar, May 26, 2024
  29. Patrick SteinhardtMay 29, 2024
  30. Junio C HamanoMay 29, 2024
  31. [GSoC][PATCH v5 0/2] t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hashGhanshyam Thakkar, May 29, 2024
  32. 1/2 strbuf: introduce strbuf_addstrings() to repeatedly add a stringGhanshyam Thakkar, May 29, 2024
  33. 2/2 t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hashGhanshyam Thakkar, May 29, 2024
  34. Patrick SteinhardtMay 29, 2024
  35. Junio C HamanoMay 29, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.