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

[PATCH 3/3] t7421: eliminate 'grep' check in t7421.4 for mingw compatibility

From
Shourya Shukla <shouryashukla.oo@gmail.com>
Date
Aug 25, 2020, 11:30 UTC
Message-ID
<20200825113020.71801-4-shouryashukla.oo@gmail.com>
In-Reply-To
<20200825113020.71801-1-shouryashukla.oo@gmail.com>

The 'grep' check in test 4 of t7421 resulted in the failure of t7421 on Windows due to a different error message

    error: cannot spawn git: No such file or directory
instead of
    fatal: exec 'rev-parse': cd to 'my-subm' failed: No such file or directory

Tighten up the check to compute '{src,dst}_abbrev' by guarding the 'verify_submodule_committish()' call using `p->status !='D'`, so that the former isn't called in case of non-existent submodule directory, consequently, there is no such error message on any execution environment.

Therefore, eliminate the 'grep' check in t7421. Instead, verify the absence of an error message by doing a 'test_must_be_empty' on the file containing the error.

Reported-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Helped-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Mentored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Signed-off-by: Shourya Shukla <shouryashukla.oo@gmail.com>
---
 builtin/submodule--helper.c      | 7 ++++---
 t/t7421-submodule-summary-add.sh | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 93d0700891..f1951680f7 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -1035,7 +1035,7 @@ static void print_submodule_summary(struct summary_cb *info, char *errmsg,
 static void generate_submodule_summary(struct summary_cb *info,
 				       struct module_cb *p)
 {
-	char *displaypath, *src_abbrev, *dst_abbrev;
+	char *displaypath, *src_abbrev = NULL, *dst_abbrev = NULL;
 	int missing_src = 0, missing_dst = 0;
 	char *errmsg = NULL;
 	int total_commits = -1;
@@ -1061,8 +1061,9 @@ static void generate_submodule_summary(struct summary_cb *info,
 	}
 
 	if (S_ISGITLINK(p->mod_src)) {
-		src_abbrev = verify_submodule_committish(p->sm_path,
-							 oid_to_hex(&p->oid_src));
+		if (p->status != 'D')
+			src_abbrev = verify_submodule_committish(p->sm_path,
+								 oid_to_hex(&p->oid_src));
 		if (!src_abbrev) {
 			missing_src = 1;
 			/*
diff --git a/t/t7421-submodule-summary-add.sh b/t/t7421-submodule-summary-add.sh
index 59a9b00467..b070f13714 100755
--- a/t/t7421-submodule-summary-add.sh
+++ b/t/t7421-submodule-summary-add.sh
@@ -58,7 +58,7 @@ test_expect_success 'submodule summary output for submodules with changed paths'
 	git commit -m "change submodule path" &&
 	rev=$(git -C sm rev-parse --short HEAD^) &&
 	git submodule summary HEAD^^ -- my-subm >actual 2>err &&
-	grep "fatal:.*my-subm" err &&
+	test_must_be_empty err &&
 	cat >expected <<-EOF &&
 	* my-subm ${rev}...0000000:
 
-- 
2.28.0
Previous: Shourya ShuklaNext: Kaartic Sivaraam
Message 7 of 12 in “submodule: fixup to summary-v3”
  1. Shourya ShuklaAug 25, 2020
  2. 2/3 submodule: fix style in function definitionShourya Shukla, Aug 25, 2020
  3. Junio C HamanoAug 25, 2020
  4. Shourya ShuklaAug 26, 2020
  5. Junio C HamanoAug 26, 2020
  6. 1/3 submodule: eliminate unused parameters from print_submodule_summary()Shourya Shukla, Aug 25, 2020
  7. 3/3 t7421: eliminate 'grep' check in t7421.4 for mingw compatibilityShourya Shukla, Aug 25, 2020
  8. Kaartic SivaraamAug 25, 2020
  9. Junio C HamanoAug 25, 2020
  10. Shourya ShuklaAug 27, 2020
  11. Shourya ShuklaAug 26, 2020
  12. Kaartic SivaraamAug 25, 2020

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.