git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Cc: Johannes Schindelin <johannes.schindelin@gmx.de>, gitgitgadget@gmail.com
Subject: [PATCH 2/2] t: protect against use of test_path_is_hidden outside MINGW
Date: Thu,  9 Apr 2020 13:11:29 -0700	[thread overview]
Message-ID: <20200409201129.82608-3-gitster@pobox.com> (raw)
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


  parent reply	other threads:[~2020-04-09 20:11 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-08 19:34 [PATCH] mingw: make is_hidden tests in t0001/t5611 more robust Johannes Schindelin via GitGitGadget
2020-04-08 21:59 ` Junio C Hamano
2020-04-09 20:11   ` [PATCH 0/2] make "is_hidden" even " Junio C Hamano
2020-04-09 20:11     ` [PATCH 1/2] mingw: refactor test_path_is_hidden out to t/test-lib-functions.sh Junio C Hamano
2020-04-09 20:11     ` Junio C Hamano [this message]
2020-04-10 11:03 ` [PATCH v2 0/3] Make the tests that test core.hideDotFiles more robust Johannes Schindelin via GitGitGadget
2020-04-10 11:03   ` [PATCH v2 1/3] t: consolidate the `is_hidden` functions Johannes Schindelin via GitGitGadget
2020-04-10 11:03   ` [PATCH v2 2/3] mingw: make test_path_is_hidden tests in t0001/t5611 more robust Johannes Schindelin via GitGitGadget
2020-04-10 11:03   ` [PATCH v2 3/3] t: fix casing of the operating system `Windows` Johannes Schindelin via GitGitGadget
2020-04-10 11:14   ` [PATCH v2 0/3] Make the tests that test core.hideDotFiles more robust Junio C Hamano
2020-04-11 13:40   ` [PATCH v3 " Johannes Schindelin via GitGitGadget
2020-04-11 13:40     ` [PATCH v3 1/3] t: consolidate the `is_hidden` functions Johannes Schindelin via GitGitGadget
2020-04-11 13:40     ` [PATCH v3 2/3] mingw: make test_path_is_hidden more robust Johannes Schindelin via GitGitGadget
2020-04-11 13:40     ` [PATCH v3 3/3] t: restrict `is_hidden` to be called only on Windows Johannes Schindelin via GitGitGadget
2020-04-11 21:27     ` [PATCH v3 0/3] Make the tests that test core.hideDotFiles more robust Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200409201129.82608-3-gitster@pobox.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=johannes.schindelin@gmx.de \
    --subject='Re: [PATCH 2/2] t: protect against use of test_path_is_hidden outside MINGW' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).