public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: "D. Ben Knoble" <ben.knoble+github@gmail•com>
To: git@vger•kernel.org
Cc: "D. Ben Knoble" <ben.knoble+github@gmail•com>,
	Patrick Steinhardt <ps@pks•im>,
	Junio C Hamano <gitster@pobox•com>,
	Phillip Wood <phillip.wood123@gmail•com>,
	Eric Sunshine <sunshine@sunshineco•com>
Subject: [PATCH v5 0/3] clean up some code around editors
Date: Wed, 13 Aug 2025 13:50:02 -0400	[thread overview]
Message-ID: <20250813175112.88435-1-ben.knoble+github@gmail.com> (raw)
In-Reply-To: <20250812170256.71751-1-ben.knoble+github@gmail.com>

Changes from v4:
- revert use of test_env: fix the one instance that needs adjusted for
  VAR=val cmd syntax by using test_must_fail env VAR=val cmd.

Changes from v3:
- drop 4/4
- use test_env (including a case our lint does not catch when the value
  has spaces)

Changes from v2:
- shuffle setup code and use more helpers in 1/4
- insert 2/4 to stop abusing --exec-path
- improve environment-cleansing idioms in {2 => 3}/4

Thanks especially to Phillip's encyclopaedic knowledge of test helpers ;)

Changes from v1:
- add a prep patch with style fixes to t7005
- rework the environment munging to use subshells, per Phillip Wood's
  suggestion

These patches clean up some old code in the editor tests that does not use our
modern idioms.

Also, this version is (still) based on a later master 112648dd6b (Merge
branch 'master' of https://github.com/j6t/git-gui, 2025-08-04) than the
original from May.

v1: https://lore.kernel.org/git/20250520193506.95199-1-ben.knoble+github@gmail.com/
v2: https://lore.kernel.org/git/20250810160323.49372-1-ben.knoble+github@gmail.com/
v3: https://lore.kernel.org/git/20250811221706.67168-1-ben.knoble+github@gmail.com/
v4: https://lore.kernel.org/git/20250812170256.71751-1-ben.knoble+github@gmail.com/
Published-as: https://github.com/benknoble/tree/editor-cleanup

D. Ben Knoble (3):
  t7005: use modern test style
  t7005: stop abusing --exec-path
  t7005: sanitize test environment for subsequent tests

 t/t7005-editor.sh | 147 +++++++++++++++++++---------------------------
 1 file changed, 59 insertions(+), 88 deletions(-)

Diff-intervalle contre v4 :
1:  8ad2904a18 = 1:  8ad2904a18 t7005: use modern test style
2:  44a6fd8eb3 ! 2:  5a35889571 t7005: stop abusing --exec-path
    @@ t/t7005-editor.sh
      	esac
      	test_expect_success "Using $i" '
     -		git --exec-path=. commit --amend &&
    -+		test_env PATH="$PWD:$PATH" git commit --amend &&
    ++		PATH="$PWD:$PATH" git commit --amend &&
      		test_commit_message HEAD expect
      	'
      done
    @@ t/t7005-editor.sh
      	esac
      	test_expect_success "Using $i (override)" '
     -		git --exec-path=. commit --amend &&
    -+		test_env PATH="$PWD:$PATH" git commit --amend &&
    ++		PATH="$PWD:$PATH" git commit --amend &&
      		test_commit_message HEAD expect
      	'
      done
3:  135d4368d6 ! 3:  e6e31ab98c t7005: sanitize test environment for subsequent tests
    @@ t/t7005-editor.sh
     -export TERM
      test_expect_success 'dumb should error out when falling back on vi' '
     -	test_must_fail git commit --amend
    -+	test_env TERM=dumb test_must_fail git commit --amend
    ++	test_must_fail env TERM=dumb git commit --amend
      '
      
      test_expect_success 'dumb should prefer EDITOR to VISUAL' '
    @@ t/t7005-editor.sh
     -	VISUAL=./e-VISUAL.sh &&
     -	export EDITOR VISUAL &&
     -	git commit --amend &&
    -+	test_env TERM=dumb EDITOR=./e-EDITOR.sh VISUAL=./e-VISUAL.sh \
    ++	TERM=dumb EDITOR=./e-EDITOR.sh VISUAL=./e-VISUAL.sh \
     +		git commit --amend &&
      	test_commit_message HEAD -m "Edited by EDITOR"
      '
    @@ t/t7005-editor.sh
     -		;;
     -	esac
      	test_expect_success "Using $i" '
    --		test_env PATH="$PWD:$PATH" git commit --amend &&
    +-		PATH="$PWD:$PATH" git commit --amend &&
     -		test_commit_message HEAD expect
     +		if test "$i" = core_editor
     +		then
    @@ t/t7005-editor.sh
     +				export $i
     +				;;
     +			esac &&
    -+			test_env PATH="$PWD:$PATH" TERM=vt100 git commit --amend
    ++			PATH="$PWD:$PATH" TERM=vt100 git commit --amend
     +		) &&
     +		test_commit_message HEAD -m "Edited by $i"
      	'
    @@ t/t7005-editor.sh
     -		;;
     -	esac
     -	test_expect_success "Using $i (override)" '
    --		test_env PATH="$PWD:$PATH" git commit --amend &&
    +-		PATH="$PWD:$PATH" git commit --amend &&
     -		test_commit_message HEAD expect
     -	'
     -done
    @@ t/t7005-editor.sh
     +				export $i
     +				;;
     +			esac &&
    -+			test_env PATH="$PWD:$PATH" git commit --amend &&
    ++			PATH="$PWD:$PATH" git commit --amend &&
     +			test_commit_message HEAD expect || exit 1
     +		done
     +	)
    @@ t/t7005-editor.sh
      
      test_expect_success 'editor with a space' '
      	echo "echo space >\"\$1\"" >"e space.sh" &&
    - 	chmod a+x "e space.sh" &&
    --	GIT_EDITOR="./e\ space.sh" git commit --amend &&
    -+	test_env GIT_EDITOR="./e\ space.sh" git commit --amend &&
    +@@
      	test_commit_message HEAD -m space
      '
      

base-commit: 112648dd6bdd8e4f485cd0ae11636807959d48be
-- 
2.48.1


  parent reply	other threads:[~2025-08-13 17:51 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-20 19:34 [PATCH 0/4] Drop git-exec-path from non-Git child programs D. Ben Knoble
2025-05-20 19:34 ` [PATCH 1/4] t7005: sanitize test environment for subsequent tests D. Ben Knoble
2025-05-21  7:56   ` Patrick Steinhardt
2025-05-21 13:23     ` D. Ben Knoble
2025-05-20 19:34 ` [PATCH 2/4] editor: use standard strvec API to receive environment for external editors D. Ben Knoble
2025-05-21  7:56   ` Patrick Steinhardt
2025-05-21 13:26     ` D. Ben Knoble
2025-05-21 13:34       ` Patrick Steinhardt
2025-05-21 15:20       ` Junio C Hamano
2025-05-21 15:10     ` Junio C Hamano
2025-05-20 19:34 ` [PATCH 3/4] run-command: prep_childenv on all platforms D. Ben Knoble
2025-05-21  7:56   ` Patrick Steinhardt
2025-05-21 13:07     ` Phillip Wood
2025-05-21 13:33       ` D. Ben Knoble
2025-05-20 19:34 ` [PATCH 4/4] drop git_exec_path() from non-Git commands' PATH D. Ben Knoble
2025-05-20 20:33   ` Junio C Hamano
2025-05-21 13:44     ` D. Ben Knoble
2025-05-21  8:27   ` Patrick Steinhardt
2025-05-21 13:07     ` Phillip Wood
2025-05-21 13:17       ` Patrick Steinhardt
2025-05-21 15:27         ` Phillip Wood
2025-05-26  6:34           ` Patrick Steinhardt
2025-05-21 15:50         ` Justin Tobler
2025-05-26  6:31           ` Patrick Steinhardt
2025-05-21 13:48     ` D. Ben Knoble
2025-05-21 14:47     ` Junio C Hamano
2025-05-22 13:21 ` [PATCH 0/4] Drop git-exec-path from non-Git child programs Phillip Wood
2025-08-05  1:41   ` D. Ben Knoble
2025-08-05  2:40 ` [PATCH 0/2] clean up some code around editors D. Ben Knoble
2025-08-06 10:07   ` Phillip Wood
2025-08-05  2:40 ` [PATCH 1/2] t7005: sanitize test environment for subsequent tests D. Ben Knoble
2025-08-05  2:40 ` [PATCH 2/2] editor: use standard strvec API to receive environment for external editors D. Ben Knoble
2025-08-10 16:03 ` [PATCH 0/3] clean up some code around editors D. Ben Knoble
2025-08-10 16:06   ` D. Ben Knoble
2025-08-10 16:34     ` Ben Knoble
2025-08-11 22:16   ` [PATCH v3 0/4] " D. Ben Knoble
2025-08-11 22:59     ` Ben Knoble
2025-08-12  0:16       ` Eric Sunshine
2025-08-12 16:42         ` D. Ben Knoble
2025-08-12 17:35         ` Junio C Hamano
2025-08-12 18:13           ` Eric Sunshine
2025-08-12 18:22             ` Junio C Hamano
2025-08-12 18:30               ` Eric Sunshine
2025-08-12 17:02     ` [PATCH v4 0/3] " D. Ben Knoble
2025-08-13 10:14       ` Phillip Wood
2025-08-13 15:41         ` Junio C Hamano
2025-08-13 17:36           ` D. Ben Knoble
2025-08-13 17:50       ` D. Ben Knoble [this message]
2025-08-15 16:00         ` [PATCH v5 " Phillip Wood
2025-08-13 17:50       ` [PATCH v5 1/3] t7005: use modern test style D. Ben Knoble
2025-08-13 17:50       ` [PATCH v5 2/3] t7005: stop abusing --exec-path D. Ben Knoble
2025-08-13 17:50       ` [PATCH v5 3/3] t7005: sanitize test environment for subsequent tests D. Ben Knoble
2025-08-12 17:02     ` [PATCH v4 1/3] t7005: use modern test style D. Ben Knoble
2025-08-12 17:02     ` [PATCH v4 2/3] t7005: stop abusing --exec-path D. Ben Knoble
2025-08-12 17:02     ` [PATCH v4 3/3] t7005: sanitize test environment for subsequent tests D. Ben Knoble
2025-08-11 22:16   ` [PATCH v3 1/4] t7005: use modern test style D. Ben Knoble
2025-08-11 22:16   ` [PATCH v3 2/4] t7005: stop abusing --exec-path D. Ben Knoble
2025-08-11 22:16   ` [PATCH v3 3/4] t7005: sanitize test environment for subsequent tests D. Ben Knoble
2025-08-11 22:34     ` Eric Sunshine
2025-08-12 16:40       ` D. Ben Knoble
2025-08-12 17:13         ` Eric Sunshine
2025-08-11 22:16   ` [PATCH v3 4/4] editor: use standard strvec API to receive environment for external editors D. Ben Knoble
2025-08-11 22:46     ` Eric Sunshine
2025-08-11 23:58       ` Junio C Hamano
2025-08-10 16:03 ` [PATCH 1/3] t7005: use modern test style D. Ben Knoble
2025-08-10 19:42   ` Phillip Wood
2025-08-11 10:04   ` Phillip Wood
2025-08-10 16:03 ` [PATCH 2/3] t7005: sanitize test environment for subsequent tests D. Ben Knoble
2025-08-10 19:44   ` Phillip Wood
2025-08-10 19:53     ` Ben Knoble
2025-08-10 20:58       ` Eric Sunshine
2025-08-11  9:59     ` Phillip Wood
2025-08-10 16:03 ` [PATCH 3/3] editor: use standard strvec API to receive environment for external editors D. Ben Knoble

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

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

  git send-email \
    --in-reply-to=20250813175112.88435-1-ben.knoble+github@gmail.com \
    --to=ben.knoble+github@gmail$(echo .)com \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=phillip.wood123@gmail$(echo .)com \
    --cc=ps@pks$(echo .)im \
    --cc=sunshine@sunshineco$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox