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

Re: [PATCH 3/4] t1300: fix the new --show-origin tests on Windows

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 22, 2016, 18:13 UTC
Message-ID
<xmqq37riidow.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<a43d6d1f46a90eea9083f329ad0dfb17915c38a1.1458668543.git.johannes.schindelin@gmx.de>
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
Show 31 quoted lines
> On Windows, we have that funny situation where the test script can refer
> to POSIX paths because it runs in a shell that uses a POSIX emulation
> layer ("MSYS2 runtime"). Yet, git.exe does *not* understand POSIX paths
> at all but only pure Windows paths.
>
> So let's just convert the POSIX paths to Windows paths before passing
> them on to Git, using `pwd` (which is already modified on Windows to
> output Windows paths).
>
> While fixing the new tests on Windows, we also have to exclude the tests
> that want to write a file with a name that is illegal on Windows
> (unfortunately, there is more than one test trying to make use of that
> file).
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>  t/t1300-repo-config.sh | 15 ++++++++++++---
>  1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
> index 0236fe2..18eb769 100755
> --- a/t/t1300-repo-config.sh
> +++ b/t/t1300-repo-config.sh
> @@ -1232,6 +1232,15 @@ test_expect_success 'set up --show-origin tests' '
>  	EOF
>  '
>  
> +if test_have_prereq MINGW
> +then
> +	# convert to Windows paths
> +	HOME="$(pwd)"
We override HOME in t/test-lib.sh; shouldn't this be done there?
> +	INCLUDE_DIR="$HOME/include"

I am puzzled. 'set up --show-origin tests' do say INCLUDE_DIR is "$HOME/include" already, so why is this needed?

> +	export HOME INCLUDE_DIR

Existing tests use $INCLUDE_DIR (and $HOME) as shell variables just fine without exporting. Why do these need to be exported only on MINGW?

> +	git config -f .gitconfig include.path "$INCLUDE_DIR/absolute.include"
> +fi

Perhaps if you adjust HOME before 'set up --show-origin tests' test, most (or all) of the above become unnecessary?

The changes below that skip tests that relies on pathnames that cannot be used on Windows makes sense, though.

Show 30 quoted lines
>  test_expect_success '--show-origin with --list' '
>  	cat >expect <<-EOF &&
>  		file:$HOME/.gitconfig	user.global=true
> @@ -1304,7 +1313,7 @@ test_expect_success 'set up custom config file' '
>  	EOF
>  '
>  
> -test_expect_success '--show-origin escape special file name characters' '
> +test_expect_success !MINGW '--show-origin escape special file name characters' '
>  	cat >expect <<-\EOF &&
>  		file:"file\" (dq) and spaces.conf"	user.custom=true
>  	EOF
> @@ -1333,7 +1342,7 @@ test_expect_success '--show-origin stdin with file include' '
>  	test_cmp expect output
>  '
>  
> -test_expect_success '--show-origin blob' '
> +test_expect_success !MINGW '--show-origin blob' '
>  	cat >expect <<-\EOF &&
>  		blob:a9d9f9e555b5c6f07cbe09d3f06fe3df11e09c08	user.custom=true
>  	EOF
> @@ -1342,7 +1351,7 @@ test_expect_success '--show-origin blob' '
>  	test_cmp expect output
>  '
>  
> -test_expect_success '--show-origin blob ref' '
> +test_expect_success !MINGW '--show-origin blob ref' '
>  	cat >expect <<-\EOF &&
>  		blob:"master:file\" (dq) and spaces.conf"	user.custom=true
>  	EOF
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 23 of 42 in “Git for Windows fixes in preparation for 2.8.0”
  1. 0/4 Git for Windows fixes in preparation for 2.8.0Johannes Schindelin, Mar 22, 2016
  2. 1/4 config --show-origin: report paths with forward slashesJohannes Schindelin, Mar 22, 2016
  3. Junio C HamanoMar 22, 2016
  4. Johannes SchindelinMar 23, 2016
  5. Junio C HamanoMar 23, 2016
  6. Johannes SixtMar 28, 2016
  7. Johannes SchindelinMar 28, 2016
  8. Johannes SixtMar 29, 2016
  9. Junio C HamanoMar 29, 2016
  10. Johannes SixtApr 2, 2016
  11. Junio C HamanoApr 4, 2016
  12. Johannes SchindelinApr 4, 2016
  13. Johannes SixtMar 30, 2016
  14. Johannes SixtApr 2, 2016
  15. 2/4 Make t1300-repo-config resilient to being run via 'sh -x'Johannes Schindelin, Mar 22, 2016
  16. Jonathan NiederMar 22, 2016
  17. Junio C HamanoMar 22, 2016
  18. Jonathan NiederMar 22, 2016
  19. Johannes SchindelinMar 23, 2016
  20. Junio C HamanoMar 22, 2016
  21. Johannes SchindelinMar 23, 2016
  22. 3/4 t1300: fix the new --show-origin tests on WindowsJohannes Schindelin, Mar 22, 2016
  23. Junio C HamanoMar 22, 2016
  24. Johannes SchindelinMar 23, 2016
  25. 4/4 mingw: skip some tests in t9115 due to file name issuesJohannes Schindelin, Mar 22, 2016
  26. Jonathan NiederMar 22, 2016
  27. Torsten BögershausenMar 22, 2016
  28. Junio C HamanoMar 22, 2016
  29. Torsten BögershausenMar 22, 2016
  30. Junio C HamanoMar 22, 2016
  31. Torsten BögershausenMar 23, 2016
  32. Johannes SchindelinMar 23, 2016
  33. Junio C HamanoMar 23, 2016
  34. Torsten BögershausenMar 23, 2016
  35. Torsten BögershausenMar 23, 2016
  36. Junio C HamanoMar 22, 2016
  37. 0/4 Git for Windows fixes in preparation for 2.8.0Johannes Schindelin, Mar 23, 2016
  38. 1/4 config --show-origin: report paths with forward slashesJohannes Schindelin, Mar 23, 2016
  39. 2/4 Make t1300-repo-config resilient to being run via 'sh -x'Johannes Schindelin, Mar 23, 2016
  40. 3/4 t1300: fix the new --show-origin tests on WindowsJohannes Schindelin, Mar 23, 2016
  41. Lars SchneiderMar 23, 2016
  42. 4/4 mingw: skip some tests in t9115 due to file name issuesJohannes Schindelin, Mar 23, 2016

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.