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

[PATCH v2 3/4] t2405: clarify test descriptions and simplify test

From
Philippe Blain via GitGitGadget <gitgitgadget@gmail.com>
Date
Jan 21, 2020, 15:01 UTC
Message-ID
<10727275a2a7188eec374a82438eeda09f3b82b8.1579618877.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.523.v2.git.1579618877.gitgitgadget@gmail.com>
From: Philippe Blain <levraiphilippeblain@gmail.com>

When 'checkout --to' functionality was moved to 'worktree add', tests were adapted in f194b1ef6e (tests: worktree: retrofit "checkout --to" tests for "worktree add", 2015-07-06).

The calls were changed to 'worktree add' in this test (then t7410), but the test descriptions were not updated, keeping 'checkout' instead of using the new terminology (linked worktrees).

Also, in the test each worktree is created in $TRASH_DIRECTORY/<leading-directory>/main, where the name of <leading-directory> carries some information about what behavior each test verifies. This directory structure is not mandatory for the tests; the worktrees can live next to one another in the trash directory.

Clarify the tests by using the right terminology, and remove the unnecessary leading directories such that all superproject worktrees are directly next to one another in the trash directory.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 t/t2405-worktree-submodule.sh | 36 ++++++++++++++++-------------------
 1 file changed, 16 insertions(+), 20 deletions(-)
diff --git a/t/t2405-worktree-submodule.sh b/t/t2405-worktree-submodule.sh
index c4e555776a..d0830058fd 100755
--- a/t/t2405-worktree-submodule.sh
+++ b/t/t2405-worktree-submodule.sh
@@ -18,43 +18,39 @@ test_expect_success 'setup: create origin repos'  '
 	git -C origin/main commit -m "sub updated"
 '
 
-test_expect_success 'setup: clone' '
-	mkdir clone &&
-	git -C clone clone --recursive "$base_path/origin/main"
+test_expect_success 'setup: clone superproject to create main worktree' '
+	git clone --recursive "$base_path/origin/main" main
 '
 
 rev1_hash_main=$(git --git-dir=origin/main/.git show --pretty=format:%h -q "HEAD~1")
 rev1_hash_sub=$(git --git-dir=origin/sub/.git show --pretty=format:%h -q "HEAD~1")
 
-test_expect_success 'checkout main' '
-	mkdir default_checkout &&
-	git -C clone/main worktree add "$base_path/default_checkout/main" "$rev1_hash_main"
+test_expect_success 'add superproject worktree' '
+	git -C main worktree add "$base_path/worktree" "$rev1_hash_main"
 '
 
-test_expect_failure 'can see submodule diffs just after checkout' '
-	git -C default_checkout/main diff --submodule master"^!" >out &&
+test_expect_failure 'submodule is checked out just after worktree add' '
+	git -C worktree diff --submodule master"^!" >out &&
 	grep "file1 updated" out
 '
 
-test_expect_success 'checkout main and initialize independent clones' '
-	mkdir fully_cloned_submodule &&
-	git -C clone/main worktree add "$base_path/fully_cloned_submodule/main" "$rev1_hash_main" &&
-	git -C fully_cloned_submodule/main submodule update
+test_expect_success 'add superproject worktree and initialize submodules' '
+	git -C main worktree add "$base_path/worktree-submodule-update" "$rev1_hash_main" &&
+	git -C worktree-submodule-update submodule update
 '
 
-test_expect_success 'can see submodule diffs after independent cloning' '
-	git -C fully_cloned_submodule/main diff --submodule master"^!" >out &&
+test_expect_success 'submodule is checked out just after submodule update in linked worktree' '
+	git -C worktree-submodule-update diff --submodule master"^!" >out &&
 	grep "file1 updated" out
 '
 
-test_expect_success 'checkout sub manually' '
-	mkdir linked_submodule &&
-	git -C clone/main worktree add "$base_path/linked_submodule/main" "$rev1_hash_main" &&
-	git -C clone/main/sub worktree add "$base_path/linked_submodule/main/sub" "$rev1_hash_sub"
+test_expect_success 'add superproject worktree and manually add submodule worktree' '
+	git -C main worktree add "$base_path/linked_submodule" "$rev1_hash_main" &&
+	git -C main/sub worktree add "$base_path/linked_submodule/sub" "$rev1_hash_sub"
 '
 
-test_expect_success 'can see submodule diffs after manual checkout of linked submodule' '
-	git -C linked_submodule/main diff --submodule master"^!" >out &&
+test_expect_success 'submodule is checked out after manually adding submodule worktree' '
+	git -C linked_submodule diff --submodule master"^!" >out &&
 	grep "file1 updated" out
 '
 
-- 
gitgitgadget
Previous: Philippe Blain via GitGitGadgetNext: Philippe Blain via GitGitGadget
Message 18 of 24 in “checkout/reset/read-tree: fix --recurse-submodules in linked worktree”
  1. 0/4 checkout/reset/read-tree: fix --recurse-submodules in linked worktreePhilippe Blain via GitGitGadget, Jan 17, 2020
  2. 1/4 t7410: rename to t2405-worktree-submodule.shPhilippe Blain via GitGitGadget, Jan 17, 2020
  3. 2/4 t2405: use git -C and test_commit -C instead of subshellsPhilippe Blain via GitGitGadget, Jan 17, 2020
  4. Eric SunshineJan 17, 2020
  5. Junio C HamanoJan 17, 2020
  6. Philippe BlainJan 18, 2020
  7. 3/4 t2405: clarify test descriptions and simplify testPhilippe Blain via GitGitGadget, Jan 17, 2020
  8. Eric SunshineJan 17, 2020
  9. Philippe BlainJan 19, 2020
  10. Eric SunshineJan 19, 2020
  11. 4/4 submodule.c: use get_git_dir() instead of get_git_common_dir()Philippe Blain via GitGitGadget, Jan 17, 2020
  12. Derrick StoleeJan 17, 2020
  13. Philippe BlainJan 18, 2020
  14. Derrick StoleeJan 17, 2020
  15. 0/4 checkout/reset/read-tree: fix --recurse-submodules in linked worktreePhilippe Blain via GitGitGadget, Jan 21, 2020
  16. 1/4 t7410: rename to t2405-worktree-submodule.shPhilippe Blain via GitGitGadget, Jan 21, 2020
  17. 2/4 t2405: use git -C and test_commit -C instead of subshellsPhilippe Blain via GitGitGadget, Jan 21, 2020
  18. 3/4 t2405: clarify test descriptions and simplify testPhilippe Blain via GitGitGadget, Jan 21, 2020
  19. 4/4 submodule.c: use get_git_dir() instead of get_git_common_dir()Philippe Blain via GitGitGadget, Jan 21, 2020
  20. Philippe BlainJan 22, 2020
  21. Junio C HamanoJan 22, 2020
  22. Philippe BlainJan 22, 2020
  23. Philippe BlainJan 24, 2020
  24. Junio C HamanoJan 24, 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.