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

Re: [PATCH v1 4/4] t1301: do not change $CWD in "shared=all" test case

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 28, 2022, 04:41 UTC
Message-ID
<xmqqwn7f7ktb.fsf@gitster.g>
In-Reply-To
<20221127145130.16155-4-worldhello.net@gmail.com>
Jiang Xin <worldhello.net@gmail.com> writes:
Show 12 quoted lines
> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>
> In test case "shared=all", the working directory is permanently changed
> to the "sub" directory. This leads to a strange behavior that the
> temporary repositories created by subsequent test cases are all in this
> "sub" directory, such as "sub/new", "sub/child.git". If we bypass this
> test case, all subsequent test cases will have different working
> directory.
>
> Since the test case "shared=all" and all subsequent will work properly
> in the default test repository, we don't need to create and change to
> the "sub" directory in the test case "shared=all".

It is much worse than that. If existing tests after this step were running destructive operations in their "..", because we have this extra "sub" directory and such a destructive test were running there, the damage would have been contained in $TRASH_DIRECTORY but with this change, it will touch t/ (or the parent directory of the $TRASH_DIRECTORY). So, "will work properly" may not be sufficient; we need to audit the rest of the script and make sure there is no such funny "step outside the test enviromnent" happening before we are sure that this is a "safe" change.

It is the "right" thing to do, though. I do not see any reason why we want to have an extra level "sub" directory there.

Show 19 quoted lines
>
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> ---
>  t/t1301-shared-repo.sh | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh
> index 3ca91bf504..c4f2f72f6b 100755
> --- a/t/t1301-shared-repo.sh
> +++ b/t/t1301-shared-repo.sh
> @@ -46,8 +46,6 @@ do
>  done
>  
>  test_expect_success 'shared=all' '
> -	mkdir sub &&
> -	cd sub &&
>  	git init --template= --shared=all &&
>  	test 2 = $(git config core.sharedrepository)
>  '
Previous: Jiang XinNext: Jiang Xin
Message 9 of 24 in “t1301: fix wrong template dir for git-init”
  1. 1/4 t1301: fix wrong template dir for git-initJiang Xin, Nov 27, 2022
  2. 2/4 t1301: use test_when_finished for cleanupJiang Xin, Nov 27, 2022
  3. Junio C HamanoNov 28, 2022
  4. 3/4 t1301: wrap the statements in the for loopJiang Xin, Nov 27, 2022
  5. Junio C HamanoNov 28, 2022
  6. Jiang XinNov 28, 2022
  7. Jiang XinNov 28, 2022
  8. 4/4 t1301: do not change $CWD in "shared=all" test caseJiang Xin, Nov 27, 2022
  9. Junio C HamanoNov 28, 2022
  10. Jiang XinNov 28, 2022
  11. 1/3 t1301: fix wrong template dir for git-initJiang Xin, Nov 28, 2022
  12. Ævar Arnfjörð BjarmasonNov 28, 2022
  13. Jiang XinNov 28, 2022
  14. Ævar Arnfjörð BjarmasonNov 28, 2022
  15. 2/3 t1301: use test_when_finished for cleanupJiang Xin, Nov 28, 2022
  16. 3/3 t1301: do not change $CWD in "shared=all" test caseJiang Xin, Nov 28, 2022
  17. Ævar Arnfjörð BjarmasonNov 28, 2022
  18. Jiang XinNov 28, 2022
  19. Junio C HamanoNov 29, 2022
  20. 0/3 t1301: various updatesJiang Xin, Nov 28, 2022
  21. 0/3 t1301: various updatesJiang Xin, Nov 29, 2022
  22. 1/3 t1301: fix wrong template dir for git-initJiang Xin, Nov 29, 2022
  23. 2/3 t1301: use test_when_finished for cleanupJiang Xin, Nov 29, 2022
  24. 3/3 t1301: do not change $CWD in "shared=all" test caseJiang Xin, Nov 29, 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.