mbox series

[v3,0/3] Port t0015-hash to the unit testing framework

Message ID 20240523235945.26833-1-shyamthakkar001@gmail.com (mailing list archive)
Headers show
Series Port t0015-hash to the unit testing framework | expand

Message

Ghanshyam Thakkar May 23, 2024, 11:59 p.m. UTC
Changes in v3:
- use st_mult() instead of unsigned_mult_overflows(), as suggested by
  Junio.
- split migration of SHA-1 and SHA-256 in different patches, as
  suggested by Patrick.
- Revert removal of 'sha256' subcommand of test-tool due to existing
  dependencies on it.
- Fix some formatting

CI for v3: https://github.com/spectre10/git/actions/runs/9216124753

Ghanshyam Thakkar (3):
  strbuf: introduce strbuf_addstrings() to repeatedly add a string
  t/: port helper/test-sha1.c to unit-tests/t-hash.c
  t/: port helper/test-sha256.c to unit-tests/t-hash.c

 Makefile                    |  1 +
 builtin/submodule--helper.c |  4 +-
 json-writer.c               |  5 +--
 strbuf.c                    |  9 +++++
 strbuf.h                    |  5 +++
 t/t0015-hash.sh             | 56 --------------------------
 t/unit-tests/t-hash.c       | 79 +++++++++++++++++++++++++++++++++++++
 7 files changed, 96 insertions(+), 63 deletions(-)
 delete mode 100755 t/t0015-hash.sh
 create mode 100644 t/unit-tests/t-hash.c

Range-diff against v2:
1:  b8c4ab31c6 ! 1:  cd831fabf5 strbuf: introduce strbuf_addstrings() to repeatedly add a string
    @@
      ## Metadata ##
    -Author: Achu Luma <ach.lumap@gmail.com>
    +Author: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
     
      ## Commit message ##
         strbuf: introduce strbuf_addstrings() to repeatedly add a string
    @@ Commit message
         strbuf_addstrings() would be similar for strings as strbuf_addch() and
         strbuf_addchars() for characters.
     
    +    Helped-by: Junio C Hamano <gitster@pobox.com>
         Mentored-by: Christian Couder <chriscool@tuxfamily.org>
    +    Mentored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
    +    Co-authored-by: Achu Luma <ach.lumap@gmail.com>
         Signed-off-by: Achu Luma <ach.lumap@gmail.com>
    +    Signed-off-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
     
      ## builtin/submodule--helper.c ##
     @@ builtin/submodule--helper.c: static void module_list_active(struct module_list *list)
    @@ strbuf.c: void strbuf_add(struct strbuf *sb, const void *data, size_t len)
      
     +void strbuf_addstrings(struct strbuf *sb, const char *s, size_t n)
     +{
    -+       size_t len = strlen(s);
    -+       if (unsigned_mult_overflows(len, n))
    -+               die("you want to use way too much memory");
    -+       strbuf_grow(sb, len * n);
    -+       for (size_t i = 0; i < n; i++)
    -+               strbuf_add(sb, s, len);
    ++	size_t len = strlen(s);
    ++
    ++	strbuf_grow(sb, st_mult(len, n));
    ++	for (size_t i = 0; i < n; i++)
    ++		strbuf_add(sb, s, len);
     +}
     +
      void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2)
2:  20a7ff8e24 < -:  ---------- Port helper/test-sha256.c and helper/test-sha1.c to unit-tests/t-hash.c
-:  ---------- > 2:  2c4471ce37 t/: port helper/test-sha1.c to unit-tests/t-hash.c
-:  ---------- > 3:  68dcf388d8 t/: port helper/test-sha256.c to unit-tests/t-hash.c