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

[PATCH 3/7] help tests: test "git" and "git help [-a|-g] spacing

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Dec 28, 2021, 15:35 UTC
Message-ID
<patch-3.7-3956937cf3b-20211228T153456Z-avarab@gmail.com>
In-Reply-To
<cover-0.7-00000000000-20211228T153456Z-avarab@gmail.com>

There's logic in "help.c"'s "print_cmd_by_category()" to emit "help" output with particular spacing, which doesn't make much sense when emitting only one section with "help -g".

Let's add tests for the current spacing in preparation for a subsequent whitespace formatting fix, and make sure that that fix doesn't cause regressions for the "git" and "git help" output.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/t0012-help.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
index 91b68c74a15..6ac293c19ed 100755
--- a/t/t0012-help.sh
+++ b/t/t0012-help.sh
@@ -138,6 +138,51 @@ test_expect_success 'git help --config-sections-for-completion' '
 	test_cmp human.munged sections
 '
 
+test_section_spacing () {
+	cat >expect &&
+	"$@" >out &&
+	grep -E "(^[^ ]|^$)" out >actual
+}
+
+test_section_spacing_trailer () {
+	test_section_spacing "$@" &&
+	test_expect_code 1 git >out &&
+	sed -n '/list available subcommands/,$p' <out >>expect
+}
+
+
+for cmd in git "git help"
+do
+	test_expect_success "'$cmd' section spacing" '
+		test_section_spacing_trailer git help <<-\EOF &&
+		usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
+
+		These are common Git commands used in various situations:
+
+		start a working area (see also: git help tutorial)
+
+		work on the current change (see also: git help everyday)
+
+		examine the history and state (see also: git help revisions)
+
+		grow, mark and tweak your common history
+
+		collaborate (see also: git help workflows)
+
+		EOF
+		test_cmp expect actual
+	'
+done
+
+test_expect_success "'git help -g' section spacing" '
+	test_section_spacing_trailer git help -g <<-\EOF &&
+
+	The Git concept guides are:
+
+	EOF
+	test_cmp expect actual
+'
+
 test_expect_success 'generate builtin list' '
 	git --list-cmds=builtins >builtins
 '
-- 
2.34.1.1257.g2af47340c7b
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 4 of 29 in “help: test and fix small "help -g" regression”
  1. 0/7 help: test and fix small "help -g" regressionÆvar Arnfjörð Bjarmason, Dec 28, 2021
  2. 1/7 help doc: add missing "]" to "[-a|--all]"Ævar Arnfjörð Bjarmason, Dec 28, 2021
  3. 2/7 help.c: use puts() instead of printf{,_ln}() for consistencyÆvar Arnfjörð Bjarmason, Dec 28, 2021
  4. 3/7 help tests: test "git" and "git help [-a|-g] spacingÆvar Arnfjörð Bjarmason, Dec 28, 2021
  5. 4/7 help.c: split up list_all_cmds_help() functionÆvar Arnfjörð Bjarmason, Dec 28, 2021
  6. 5/7 help: error if [-a|-g|-c] and [-i|-m|-w] are combinedÆvar Arnfjörð Bjarmason, Dec 28, 2021
  7. Eric SunshineDec 28, 2021
  8. Ævar Arnfjörð BjarmasonDec 29, 2021
  9. 6/7 help: add --no-[external-commands|aliases] for use with --allÆvar Arnfjörð Bjarmason, Dec 28, 2021
  10. Eric SunshineDec 28, 2021
  11. 7/7 help: don't print "\n" before single-section outputÆvar Arnfjörð Bjarmason, Dec 28, 2021
  12. 0/9 help: tests, parse_options() sanity, fix "help -g" regressionÆvar Arnfjörð Bjarmason, Feb 21, 2022
  13. 1/9 help doc: add missing "]" to "[-a|--all]"Ævar Arnfjörð Bjarmason, Feb 21, 2022
  14. 2/9 help.c: use puts() instead of printf{,_ln}() for consistencyÆvar Arnfjörð Bjarmason, Feb 21, 2022
  15. Junio C HamanoFeb 23, 2022
  16. Ævar Arnfjörð BjarmasonFeb 23, 2022
  17. 3/9 help tests: test "git" and "git help [-a|-g] spacingÆvar Arnfjörð Bjarmason, Feb 21, 2022
  18. 6/9 help: correct usage & behavior of "git help --all"Ævar Arnfjörð Bjarmason, Feb 21, 2022
  19. Junio C HamanoFeb 23, 2022
  20. 4/9 help.c: split up list_all_cmds_help() functionÆvar Arnfjörð Bjarmason, Feb 21, 2022
  21. Junio C HamanoFeb 23, 2022
  22. 7/9 help: error if [-a|-g|-c] and [-i|-m|-w] are combinedÆvar Arnfjörð Bjarmason, Feb 21, 2022
  23. Junio C HamanoFeb 23, 2022
  24. 9/9 help: don't print "\n" before single-section outputÆvar Arnfjörð Bjarmason, Feb 21, 2022
  25. Junio C HamanoFeb 23, 2022
  26. 8/9 help: add --no-[external-commands|aliases] for use with --allÆvar Arnfjörð Bjarmason, Feb 21, 2022
  27. Junio C HamanoFeb 23, 2022
  28. 5/9 help: note the option name on option incompatibilityÆvar Arnfjörð Bjarmason, Feb 21, 2022
  29. Junio C HamanoFeb 23, 2022

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.