git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: [PATCH v3 0/3] Make the tests that test core.hideDotFiles more robust
Date: Sat, 11 Apr 2020 13:40:19 +0000	[thread overview]
Message-ID: <pull.603.v3.git.1586612422.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.603.v2.git.1586516583.gitgitgadget@gmail.com>

We have this feature on Windows where the files starting with a dot can be
marked hidden (whether a file is hidden by default or not is a matter of
naming convention on Unix, but it is an explicit flag on Windows). This
patch improves the regression tests of this feature, and it has been carried
in Git for Windows for over three years.

Junio, I followed your advice, and did one more thing: the function is now
renamed also only in 3/3.

Changes since v2:

 * The first patch is now a true code move, no edits are snuck in.
 * The typo fix, the function rename, and the prereq check are now all done
   as a "cleanup" patch (the third one).

Changes since v1:

 * A preparatory patch now moves and renames is_hidden to 
   test-lib-functions.sh
 * A typo in the function's comment is fixed, while at it.

Johannes Schindelin (3):
  t: consolidate the `is_hidden` functions
  mingw: make test_path_is_hidden more robust
  t: restrict `is_hidden` to be called only on Windows

 t/t0001-init.sh         |  9 +--------
 t/t5611-clone-config.sh | 13 +++----------
 t/test-lib-functions.sh | 10 ++++++++++
 3 files changed, 14 insertions(+), 18 deletions(-)


base-commit: 9fadedd637b312089337d73c3ed8447e9f0aa775
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-603%2Fdscho%2Frobustify-is-hidden-tests-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-603/dscho/robustify-is-hidden-tests-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/603

Range-diff vs v2:

 1:  dd81ea68d6b ! 1:  f13f9f78cda t: consolidate the `is_hidden` functions
     @@ Commit message
          This function is duplicated between two test scripts. It is better to
          move it into `test-lib-functions.sh` so that it is reused.
      
     -    To make it safer to use, we specifically test for the `MINGW` prereq
     -    now, so that it is not used on a non-Windows platform by mistake.
     +    This patch is best viewed with `--color-moved`.
      
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
     @@ t/t0001-init.sh: test_expect_success SYMLINKS 're-init to move gitdir symlink' '
       test_expect_success MINGW '.git hidden' '
       	rm -rf newdir &&
       	(
     -@@ t/t0001-init.sh: test_expect_success MINGW '.git hidden' '
     - 		mkdir newdir &&
     - 		cd newdir &&
     - 		git init &&
     --		is_hidden .git
     -+		test_path_is_hidden .git
     - 	) &&
     - 	check_config newdir/.git false unset
     - '
      
       ## t/t5611-clone-config.sh ##
      @@ t/t5611-clone-config.sh: test_expect_success 'clone -c remote.<remote>.fetch=<refspec> --origin=<name>' '
     @@ t/t5611-clone-config.sh: test_expect_success 'clone -c remote.<remote>.fetch=<re
       test_expect_success MINGW 'clone -c core.hideDotFiles' '
       	test_commit attributes .gitattributes "" &&
       	rm -rf child &&
     - 	git clone -c core.hideDotFiles=false . child &&
     --	! is_hidden child/.gitattributes &&
     -+	! test_path_is_hidden child/.gitattributes &&
     - 	rm -rf child &&
     - 	git clone -c core.hideDotFiles=dotGitOnly . child &&
     --	! is_hidden child/.gitattributes &&
     -+	! test_path_is_hidden child/.gitattributes &&
     - 	rm -rf child &&
     - 	git clone -c core.hideDotFiles=true . child &&
     --	is_hidden child/.gitattributes
     -+	test_path_is_hidden child/.gitattributes
     - '
     - 
     - test_done
      
       ## t/test-lib-functions.sh ##
      @@ t/test-lib-functions.sh: test_bitmap_traversal () {
     @@ t/test-lib-functions.sh: test_bitmap_traversal () {
       }
      +
      +# Tests for the hidden file attribute on windows
     -+test_path_is_hidden () {
     -+	test_have_prereq MINGW ||
     -+	BUG "test_path_is_hidden can only be used on Windows"
     -+
     ++is_hidden () {
      +	# Use the output of `attrib`, ignore the absolute path
      +	case "$(attrib "$1")" in *H*?:*) return 0;; esac
      +	return 1
 2:  fc4202cb548 ! 2:  8650936b8d4 mingw: make test_path_is_hidden tests in t0001/t5611 more robust
     @@ Metadata
      Author: Johannes Schindelin <Johannes.Schindelin@gmx.de>
      
       ## Commit message ##
     -    mingw: make test_path_is_hidden tests in t0001/t5611 more robust
     +    mingw: make test_path_is_hidden more robust
      
          This function uses Windows' system tool `attrib` to determine the state
          of the hidden flag of a file or directory.
     @@ Commit message
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## t/test-lib-functions.sh ##
     -@@ t/test-lib-functions.sh: test_path_is_hidden () {
     - 	BUG "test_path_is_hidden can only be used on Windows"
     - 
     +@@ t/test-lib-functions.sh: test_bitmap_traversal () {
     + # Tests for the hidden file attribute on windows
     + is_hidden () {
       	# Use the output of `attrib`, ignore the absolute path
      -	case "$(attrib "$1")" in *H*?:*) return 0;; esac
      +	case "$("$SYSTEMROOT"/system32/attrib "$1")" in *H*?:*) return 0;; esac
 3:  d0c0767a2aa < -:  ----------- t: fix casing of the operating system `Windows`
 -:  ----------- > 3:  b2604459917 t: restrict `is_hidden` to be called only on Windows

-- 
gitgitgadget

  parent reply	other threads:[~2020-04-11 13:40 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     ` [PATCH 2/2] t: protect against use of test_path_is_hidden outside MINGW Junio C Hamano
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   ` Johannes Schindelin via GitGitGadget [this message]
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=pull.603.v3.git.1586612422.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=johannes.schindelin@gmx.de \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public 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).