From: Pablo Sabater Date: Tue, 09 Jun 2026 17:44:13 GMT Subject: Re: [PATCH GSoC RFC v12 04/12] t1006: split test utility functions into new "lib-cat-file.sh" Message-ID: In-Reply-To: El mar, 9 jun 2026 a las 8:29, Chandra Pratap () escribió: > > On Mon, 8 Jun 2026 at 15:44, Pablo Sabater wrote: > > > > From: Eric Ju > > > > This refactor extracts utility functions from the cat-file's test > > script "t1006-cat-file.sh" into a new "lib-cat-file.sh" dedicated > > library file. The goal is to improve code reuse and readability, > > enabling future tests to leverage these utilities without duplicating > > code. > > Hmm, seems like a premature change to me. Do any of the subsequent > commits require this refactor? Maybe the follow-up series that enables > %objecttype support needs it? Did someone request this change in v11's > feedback? > > If any of those are true, I think it's worthwhile mentioning it here. That will > make it easier to determine whether this change is truly necessary. Yes, these functions are needed for "t1017" which is created later in the series [1] for the remote object info tests, so they are both used in "t1006" (where they were originally) and "t1017". > > > Signed-off-by: Pablo Sabater > > --- > > t/lib-cat-file.sh | 16 ++++++++++++++++ > > t/t1006-cat-file.sh | 13 +------------ > > 2 files changed, 17 insertions(+), 12 deletions(-) > > > > diff --git a/t/lib-cat-file.sh b/t/lib-cat-file.sh > > new file mode 100644 > > index 0000000000..44af232d74 > > --- /dev/null > > +++ b/t/lib-cat-file.sh > > @@ -0,0 +1,16 @@ > > +# Library of git-cat-file related test functions. > > + > > +# Print a string without a trailing newline. > > +echo_without_newline () { > > + printf '%s' "$*" > > +} > > + > > +# Print a string without newlines and replace them with a NULL character (\0). > > +echo_without_newline_nul () { > > + echo_without_newline "$@" | tr '\n' '\0' > > +} > > + > > +# Calculate the length of a string. > > +strlen () { > > + echo_without_newline "$1" | wc -c | sed -e 's/^ *//' > > +} > > diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh > > index 8e2c52652c..8360f3bbd9 100755 > > --- a/t/t1006-cat-file.sh > > +++ b/t/t1006-cat-file.sh > > @@ -4,6 +4,7 @@ test_description='git cat-file' > > > > . ./test-lib.sh > > . "$TEST_DIRECTORY/lib-loose.sh" > > +. "$TEST_DIRECTORY"/lib-cat-file.sh > > > > test_cmdmode_usage () { > > test_expect_code 129 "$@" 2>err && > > @@ -99,18 +100,6 @@ do > > ' > > done > > > > -echo_without_newline () { > > - printf '%s' "$*" > > -} > > - > > -echo_without_newline_nul () { > > - echo_without_newline "$@" | tr '\n' '\0' > > -} > > - > > -strlen () { > > - echo_without_newline "$1" | wc -c | sed -e 's/^ *//' > > -} > > - > > run_tests () { > > type=$1 > > object_name="$2" > > > > -- > > 2.54.0 [1]: https://lore.kernel.org/git/20260608-ps-eric-work-rebase-v12-10-5338b766e658@gmail.com/ Thanks, Pablo.