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

[PATCH 01/13] submodule tests: test for init and update failure output

From
Glen Choo <chooglen@google.com>
Date
Mar 1, 2022, 00:08 UTC
Message-ID
<20220301000816.56177-2-chooglen@google.com>
In-Reply-To
<20220301000816.56177-1-chooglen@google.com>
From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Amend some submodule tests to test for the failure output of "git submodule [update|init]". The lack of such tests hid a regression in an earlier version of a subsequent commit.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Glen Choo <chooglen@google.com>
---
 t/t7406-submodule-update.sh    | 14 ++++++++++++--
 t/t7408-submodule-reference.sh | 14 +++++++++++++-
 2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
index 11cccbb333..7764c1c3cb 100755
--- a/t/t7406-submodule-update.sh
+++ b/t/t7406-submodule-update.sh
@@ -205,8 +205,18 @@ test_expect_success 'submodule update should fail due to local changes' '
 	 (cd submodule &&
 	  compare_head
 	 ) &&
-	 test_must_fail git submodule update submodule
-	)
+	 test_must_fail git submodule update submodule 2>../actual.raw
+	) &&
+	sed "s/^> //" >expect <<-\EOF &&
+	> error: Your local changes to the following files would be overwritten by checkout:
+	> 	file
+	> Please commit your changes or stash them before you switch branches.
+	> Aborting
+	> fatal: Unable to checkout OID in submodule path '\''submodule'\''
+	EOF
+	sed -e "s/checkout $SQ[^$SQ]*$SQ/checkout OID/" <actual.raw >actual &&
+	test_cmp expect actual
+
 '
 test_expect_success 'submodule update should throw away changes with --force ' '
 	(cd super &&
diff --git a/t/t7408-submodule-reference.sh b/t/t7408-submodule-reference.sh
index a3892f494b..c3a4545510 100755
--- a/t/t7408-submodule-reference.sh
+++ b/t/t7408-submodule-reference.sh
@@ -193,7 +193,19 @@ test_expect_success 'missing nested submodule alternate fails clone and submodul
 		cd supersuper-clone &&
 		check_that_two_of_three_alternates_are_used &&
 		# update of the submodule fails
-		test_must_fail git submodule update --init --recursive
+		cat >expect <<-\EOF &&
+		fatal: submodule '\''sub'\'' cannot add alternate: path ... does not exist
+		Failed to clone '\''sub'\''. Retry scheduled
+		fatal: submodule '\''sub-dissociate'\'' cannot add alternate: path ... does not exist
+		Failed to clone '\''sub-dissociate'\''. Retry scheduled
+		fatal: submodule '\''sub'\'' cannot add alternate: path ... does not exist
+		Failed to clone '\''sub'\'' a second time, aborting
+		fatal: Failed to recurse into submodule path ...
+		EOF
+		test_must_fail git submodule update --init --recursive 2>err &&
+		grep -e fatal: -e ^Failed err >actual.raw &&
+		sed -e "s/path $SQ[^$SQ]*$SQ/path .../" <actual.raw >actual &&
+		test_cmp expect actual
 	)
 '
 
-- 
2.33.GIT
Previous: Glen ChooNext: Glen Choo
Message 2 of 75 in “submodule: convert parts of 'update' to C”
  1. 00/13 submodule: convert parts of 'update' to CGlen Choo, Mar 1, 2022
  2. 01/13 submodule tests: test for init and update failure outputGlen Choo, Mar 1, 2022
  3. 02/13 submodule--helper: remove update-module-modeGlen Choo, Mar 1, 2022
  4. 04/13 submodule--helper run-update-procedure: remove --suboidGlen Choo, Mar 1, 2022
  5. 03/13 submodule--helper: reorganize code for sh to C conversionGlen Choo, Mar 1, 2022
  6. 05/13 submodule--helper: remove ensure-core-worktreeGlen Choo, Mar 1, 2022
  7. 06/13 submodule--helper: get remote names from any repositoryGlen Choo, Mar 1, 2022
  8. Junio C HamanoMar 1, 2022
  9. Glen ChooMar 1, 2022
  10. 07/13 submodule--helper: don't use bitfield indirection for parse_options()Glen Choo, Mar 1, 2022
  11. 09/13 submodule--helper: refactor get_submodule_displaypath()Glen Choo, Mar 1, 2022
  12. 08/13 submodule--helper run-update-procedure: learn --remoteGlen Choo, Mar 1, 2022
  13. 10/13 submodule--helper: allow setting superprefix for init_submodule()Glen Choo, Mar 1, 2022
  14. 11/13 submodule--helper update-clone: learn --initGlen Choo, Mar 1, 2022
  15. 12/13 submodule update: add tests for --filterGlen Choo, Mar 1, 2022
  16. 13/13 submodule--helper update-clone: check for --filter and --initGlen Choo, Mar 1, 2022
  17. Glen ChooMar 1, 2022
  18. 00/13 submodule: convert parts of 'update' to CGlen Choo, Mar 1, 2022
  19. 01/13 submodule tests: test for init and update failure outputGlen Choo, Mar 1, 2022
  20. 02/13 submodule--helper: remove update-module-modeGlen Choo, Mar 1, 2022
  21. 03/13 submodule--helper: reorganize code for sh to C conversionGlen Choo, Mar 1, 2022
  22. 04/13 submodule--helper run-update-procedure: remove --suboidGlen Choo, Mar 1, 2022
  23. 05/13 submodule--helper: remove ensure-core-worktreeGlen Choo, Mar 1, 2022
  24. 06/13 submodule--helper: get remote names from any repositoryGlen Choo, Mar 1, 2022
  25. Ævar Arnfjörð BjarmasonMar 1, 2022
  26. 07/13 submodule--helper: don't use bitfield indirection for parse_options()Glen Choo, Mar 1, 2022
  27. 08/13 submodule--helper run-update-procedure: learn --remoteGlen Choo, Mar 1, 2022
  28. 09/13 submodule--helper: refactor get_submodule_displaypath()Glen Choo, Mar 1, 2022
  29. Ævar Arnfjörð BjarmasonMar 1, 2022
  30. 10/13 submodule--helper: allow setting superprefix for init_submodule()Glen Choo, Mar 1, 2022
  31. 12/13 submodule update: add tests for --filterGlen Choo, Mar 1, 2022
  32. Ævar Arnfjörð BjarmasonMar 1, 2022
  33. Glen ChooMar 1, 2022
  34. 11/13 submodule--helper update-clone: learn --initGlen Choo, Mar 1, 2022
  35. 13/13 submodule--helper update-clone: check for --filter and --initGlen Choo, Mar 1, 2022
  36. Ævar Arnfjörð BjarmasonMar 1, 2022
  37. Junio C HamanoMar 1, 2022
  38. Glen ChooMar 1, 2022
  39. Ævar Arnfjörð BjarmasonMar 3, 2022
  40. 00/13 submodule: convert parts of 'update' to CGlen Choo, Mar 3, 2022
  41. 01/13 submodule tests: test for init and update failure outputGlen Choo, Mar 3, 2022
  42. 03/13 submodule--helper: reorganize code for sh to C conversionGlen Choo, Mar 3, 2022
  43. 02/13 submodule--helper: remove update-module-modeGlen Choo, Mar 3, 2022
  44. 04/13 submodule--helper run-update-procedure: remove --suboidGlen Choo, Mar 3, 2022
  45. Junio C HamanoMar 3, 2022
  46. 05/13 submodule--helper: remove ensure-core-worktreeGlen Choo, Mar 3, 2022
  47. Junio C HamanoMar 3, 2022
  48. Glen ChooMar 4, 2022
  49. 06/13 submodule--helper: get remote names from any repositoryGlen Choo, Mar 3, 2022
  50. 07/13 submodule--helper: don't use bitfield indirection for parse_options()Glen Choo, Mar 3, 2022
  51. 08/13 submodule--helper run-update-procedure: learn --remoteGlen Choo, Mar 3, 2022
  52. Junio C HamanoMar 3, 2022
  53. Glen ChooMar 4, 2022
  54. 09/13 submodule--helper: refactor get_submodule_displaypath()Glen Choo, Mar 3, 2022
  55. 10/13 submodule--helper: allow setting superprefix for init_submodule()Glen Choo, Mar 3, 2022
  56. 11/13 submodule--helper update-clone: learn --initGlen Choo, Mar 3, 2022
  57. 12/13 submodule update: add tests for --filterGlen Choo, Mar 3, 2022
  58. 13/13 submodule--helper update-clone: check for --filter and --initGlen Choo, Mar 3, 2022
  59. Ævar Arnfjörð BjarmasonMar 3, 2022
  60. Junio C HamanoMar 3, 2022
  61. 00/13 submodule: convert parts of 'update' to CGlen Choo, Mar 5, 2022
  62. 01/13 submodule tests: test for init and update failure outputGlen Choo, Mar 5, 2022
  63. 04/13 submodule--helper run-update-procedure: remove --suboidGlen Choo, Mar 5, 2022
  64. 03/13 submodule--helper: reorganize code for sh to C conversionGlen Choo, Mar 5, 2022
  65. 02/13 submodule--helper: remove update-module-modeGlen Choo, Mar 5, 2022
  66. 05/13 submodule--helper: get remote names from any repositoryGlen Choo, Mar 5, 2022
  67. 06/13 submodule--helper: don't use bitfield indirection for parse_options()Glen Choo, Mar 5, 2022
  68. 07/13 submodule--helper run-update-procedure: learn --remoteGlen Choo, Mar 5, 2022
  69. 08/13 submodule--helper: refactor get_submodule_displaypath()Glen Choo, Mar 5, 2022
  70. 09/13 submodule--helper: allow setting superprefix for init_submodule()Glen Choo, Mar 5, 2022
  71. 10/13 submodule--helper update-clone: learn --initGlen Choo, Mar 5, 2022
  72. 11/13 submodule--helper: remove ensure-core-worktreeGlen Choo, Mar 5, 2022
  73. 13/13 submodule--helper update-clone: check for --filter and --initGlen Choo, Mar 5, 2022
  74. 12/13 submodule update: add tests for --filterGlen Choo, Mar 5, 2022
  75. Junio C HamanoMar 5, 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.