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

[PATCH 2/2] t: protect against use of test_path_is_hidden outside MINGW

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 9, 2020, 20:11 UTC
Message-ID
<20200409201129.82608-3-gitster@pobox.com>
In-Reply-To
<20200409201129.82608-1-gitster@pobox.com>

This test helper function is meant to test if the "hidden" atttribute is set (or unset) as expected on Windows, and use of it outside MINGW prerequisite is an error. Ensure we have the prereq and trigger a BUG otherwise.

It is tempting to instead replace its implementation with something like

	if test_have_prereq MINGW
	then
		... current Windows specific code ...
	else
		# ls without -a/-A hides paths that begin with a dot
		case "$(basename "$1")" in
		.*) return 0 ;;
		esac
	fi
	return 1

but one test in t0001 is designed specifically that with an option "repository/.git" of a newly created repository is *not* hidden on Windows, which means that it is impossible to make that feature work on POSIX systems and the above won't test what we want to test.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 t/test-lib-functions.sh | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 39b478e731..ad54863166 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -762,6 +762,11 @@ test_path_is_missing () {
 
 # Tests for the hidden file attribute on windows
 test_path_is_hidden () {
+	if ! test_have_prereq MINGW
+	then
+		BUG "use of test_path_is_hidden without MINGW prerequisite"
+	fi
+
 	# Use the output of `attrib`, ignore the absolute path
 	case "$("$SYSTEMROOT"/system32/attrib "$1")" in
 	*H*?:*)		return 0;;
-- 
2.26.0-106-g9fadedd637
Previous: Junio C HamanoNext: Johannes Schindelin via GitGitGadget
Message 5 of 15 in “mingw: make is_hidden tests in t0001/t5611 more robust”
  1. mingw: make is_hidden tests in t0001/t5611 more robustJohannes Schindelin via GitGitGadget, Apr 8, 2020
  2. Junio C HamanoApr 8, 2020
  3. 0/2 make "is_hidden" even more robustJunio C Hamano, Apr 9, 2020
  4. 1/2 mingw: refactor test_path_is_hidden out to t/test-lib-functions.shJunio C Hamano, Apr 9, 2020
  5. 2/2 t: protect against use of test_path_is_hidden outside MINGWJunio C Hamano, Apr 9, 2020
  6. 0/3 Make the tests that test core.hideDotFiles more robustJohannes Schindelin via GitGitGadget, Apr 10, 2020
  7. 2/3 mingw: make test_path_is_hidden tests in t0001/t5611 more robustJohannes Schindelin via GitGitGadget, Apr 10, 2020
  8. 3/3 t: fix casing of the operating system `Windows`Johannes Schindelin via GitGitGadget, Apr 10, 2020
  9. 1/3 t: consolidate the `is_hidden` functionsJohannes Schindelin via GitGitGadget, Apr 10, 2020
  10. Junio C HamanoApr 10, 2020
  11. 0/3 Make the tests that test core.hideDotFiles more robustJohannes Schindelin via GitGitGadget, Apr 11, 2020
  12. 2/3 mingw: make test_path_is_hidden more robustJohannes Schindelin via GitGitGadget, Apr 11, 2020
  13. 3/3 t: restrict `is_hidden` to be called only on WindowsJohannes Schindelin via GitGitGadget, Apr 11, 2020
  14. 1/3 t: consolidate the `is_hidden` functionsJohannes Schindelin via GitGitGadget, Apr 11, 2020
  15. Junio C HamanoApr 11, 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.