Re: [PATCH v9 3/8] cat-file: split test utility functions into a separate library file
From: Christian Couder <hidden>
Date: 2025-01-10 14:26:55
About the commit subject, maybe something like the following would be a bit shorter: t1006: split test utility functions into new "lib-cat-file.sh" On Wed, Jan 8, 2025 at 7:38 PM Eric Ju [off-list ref] wrote:
This refactor extracts utility functions from the cat-file's test
s/test/test script/
t1006-cat-file.sh into a dedicated library file. The goal is to improve
s/a dedicated library file/a new "lib-cat-file.sh" dedicated library file/
code reuse and readability, enabling future tests to leverage these utilities without duplicating code
s/code/code./
quoted hunk ↗ jump to hunk
diff --git a/t/lib-cat-file.sh b/t/lib-cat-file.sh new file mode 100644 index 0000000000..9fb20be308 --- /dev/null +++ b/t/lib-cat-file.sh@@ -0,0 +1,16 @@ +# Library of git-cat-file related tests.
s/tests/test functions/
+ +# Print a string without a trailing newline
s/newline/newline./
+echo_without_newline () {
+ printf '%s' "$*"
+}
+
+# Print a string without newlines and replaces them with a NULL character (\0).s/replaces/replace/
+echo_without_newline_nul () {
+ echo_without_newline "$@" | tr '\n' '\0'
+}
+
+# Calculate the length of a string removing any leading spaces.This might be a bit misleading as leading spaces are removed from the output from `wc -c`, not from the string.
+strlen () {
+ echo_without_newline "$1" | wc -c | sed -e 's/^ *//'
+}