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

Re: [PATCH sg/test-rebase-editor-fix] t3404-rebase-interactive: test abbreviated commands

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Oct 26, 2018, 08:11 UTC
Message-ID
<nycvar.QRO.7.76.6.1810261006510.4546@tvgsbejvaqbjf.bet>
In-Reply-To
<94c0b5b6-ac31-101b-80a0-ac78196e0f62@kdbg.org>
Hi Hannes,
On Thu, 25 Oct 2018, Johannes Sixt wrote:
> Test each short command at least once. The commands changed here
> are chosen such that

I stumbled over this, and understood it only after looking at the patch. How about this instead:

	Make sure that each short command is tested at least once. To do
	so, we modify existing tests to avoid lengthening the already
	formidable runtime of t3404 (13 minutes on Windows). These rules
	were followed to find appropriate commands to modify:
Show 7 quoted lines
> - tests do not have a prerequisite,
> - the 'git rebase' command is not guarded by test_must_fail.
> 
> The pick commands are optional noise words in the FAKE_LINES
> variable. Test them, too.
> 
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
The rest looks good to me.

Thanks, Dscho

Show 81 quoted lines
> ---
>  This patch must be placed on top of sg/test-rebase-editor-fix.
>  It has a textual conflict with my sequencer 'b' fix from some
>  minutes ago, but the resolution should be obvious:
> 
>  - 		exec*|break|b)
>   -		exec_*|x_*)
>  ++		exec_*|x_*|break|b)
> 
>  t/lib-rebase.sh               |  4 ++--
>  t/t3404-rebase-interactive.sh | 10 +++++-----
>  2 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh
> index 2ca9fb69d6..0c93d00bdd 100644
> --- a/t/lib-rebase.sh
> +++ b/t/lib-rebase.sh
> @@ -47,9 +47,9 @@ set_fake_editor () {
>  	action=pick
>  	for line in $FAKE_LINES; do
>  		case $line in
> -		pick|squash|fixup|edit|reword|drop)
> +		pick|p|squash|s|fixup|f|edit|e|reword|r|drop|d)
>  			action="$line";;
> -		exec*)
> +		exec_*|x_*)
>  			echo "$line" | sed 's/_/ /g' >> "$1";;
>  		"#")
>  			echo '# comment' >> "$1";;
> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
> index 352a52e59d..d36ee4f807 100755
> --- a/t/t3404-rebase-interactive.sh
> +++ b/t/t3404-rebase-interactive.sh
> @@ -114,7 +114,7 @@ test_expect_success 'rebase -i with exec allows git commands in subdirs' '
>  	git checkout master &&
>  	mkdir subdir && (cd subdir &&
>  	set_fake_editor &&
> -	FAKE_LINES="1 exec_cd_subdir_&&_git_rev-parse_--is-inside-work-tree" \
> +	FAKE_LINES="1 x_cd_subdir_&&_git_rev-parse_--is-inside-work-tree" \
>  		git rebase -i HEAD^
>  	)
>  '
> @@ -499,7 +499,7 @@ test_expect_success 'squash works as expected' '
>  	git checkout -b squash-works no-conflict-branch &&
>  	one=$(git rev-parse HEAD~3) &&
>  	set_fake_editor &&
> -	FAKE_LINES="1 squash 3 2" EXPECT_HEADER_COUNT=2 \
> +	FAKE_LINES="1 s 3 2" EXPECT_HEADER_COUNT=2 \
>  		git rebase -i HEAD~3 &&
>  	test $one = $(git rev-parse HEAD~2)
>  '
> @@ -732,7 +732,7 @@ test_expect_success 'reword' '
>  	git show HEAD^ | grep "D changed" &&
>  	FAKE_LINES="reword 1 2 3 4" FAKE_COMMIT_MESSAGE="B changed" git rebase -i A &&
>  	git show HEAD~3 | grep "B changed" &&
> -	FAKE_LINES="1 reword 2 3 4" FAKE_COMMIT_MESSAGE="C changed" git rebase -i A &&
> +	FAKE_LINES="1 r 2 pick 3 p 4" FAKE_COMMIT_MESSAGE="C changed" git rebase -i A &&
>  	git show HEAD~2 | grep "C changed"
>  '
>  
> @@ -758,7 +758,7 @@ test_expect_success 'rebase -i can copy notes over a fixup' '
>  	git reset --hard n3 &&
>  	git notes add -m"an earlier note" n2 &&
>  	set_fake_editor &&
> -	GIT_NOTES_REWRITE_MODE=concatenate FAKE_LINES="1 fixup 2" git rebase -i n1 &&
> +	GIT_NOTES_REWRITE_MODE=concatenate FAKE_LINES="1 f 2" git rebase -i n1 &&
>  	git notes show > output &&
>  	test_cmp expect output
>  '
> @@ -1208,7 +1208,7 @@ rebase_setup_and_clean () {
>  test_expect_success 'drop' '
>  	rebase_setup_and_clean drop-test &&
>  	set_fake_editor &&
> -	FAKE_LINES="1 drop 2 3 drop 4 5" git rebase -i --root &&
> +	FAKE_LINES="1 drop 2 3 d 4 5" git rebase -i --root &&
>  	test E = $(git cat-file commit HEAD | sed -ne \$p) &&
>  	test C = $(git cat-file commit HEAD^ | sed -ne \$p) &&
>  	test A = $(git cat-file commit HEAD^^ | sed -ne \$p)
> -- 
> 2.19.1.406.g1aa3f475f3
> 
Previous: Johannes SixtNext: Johannes Sixt
Message 3 of 4 in “t3404-rebase-interactive: test abbreviated commands”
  1. t3404-rebase-interactive: test abbreviated commandsJohannes Sixt, Oct 25, 2018
  2. Johannes SixtOct 25, 2018
  3. Johannes SchindelinOct 26, 2018
  4. t3404-rebase-interactive: test abbreviated commandsJohannes Sixt, Oct 27, 2018

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.