diff mbox series

t3404-rebase-interactive.sh: fix name of a rewording test

Message ID 20230911122108.199207-1-oswald.buddenhagen@gmx.de (mailing list archive)
State New, archived
Headers show
Series t3404-rebase-interactive.sh: fix name of a rewording test | expand

Commit Message

Oswald Buddenhagen Sept. 11, 2023, 12:21 p.m. UTC
The given test name made no sense to me at all; it seems to be a
concatenation of two unrelated things. This was introduced by
commit 0c164ae7a ("rebase -i: add another reword test", 20-08-20).

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>

---
actually, i don't understand what the test even does. shouldn't it, to
match the description, actually dirty the tree and verify that the
operation fails?

Cc: Phillip Wood <phillip.wood@dunelm.org.uk>
---
 t/t3404-rebase-interactive.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Junio C Hamano Sept. 11, 2023, 10:36 p.m. UTC | #1
Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:

> The given test name made no sense to me at all; it seems to be a
> concatenation of two unrelated things. This was introduced by
> commit 0c164ae7a ("rebase -i: add another reword test", 20-08-20).
>
> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
>
> ---
> actually, i don't understand what the test even does. shouldn't it, to
> match the description, actually dirty the tree and verify that the
> operation fails?
>
> Cc: Phillip Wood <phillip.wood@dunelm.org.uk>

As a typofix the updated text looks more correct, but the above is a
very good point, so I'll let Phillip, whose 0c164ae7 (rebase -i: add
another reword test, 2021-08-20) introduced this test, react first.

Thanks for spotting and fixing.

> ---
>  t/t3404-rebase-interactive.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
> index 96a56aafbe..31ee5bc1f6 100755
> --- a/t/t3404-rebase-interactive.sh
> +++ b/t/t3404-rebase-interactive.sh
> @@ -758,7 +758,7 @@ test_expect_success 'reword' '
>  	git show HEAD~2 | grep "C changed"
>  '
>  
> -test_expect_success 'no uncommited changes when rewording the todo list is reloaded' '
> +test_expect_success 'no uncommitted changes when rewording' '
>  	git checkout E &&
>  	test_when_finished "git checkout @{-1}" &&
>  	(
Phillip Wood Sept. 12, 2023, 10:15 a.m. UTC | #2
On 11/09/2023 23:36, Junio C Hamano wrote:
> Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:
> 
>> The given test name made no sense to me at all; it seems to be a
>> concatenation of two unrelated things. This was introduced by
>> commit 0c164ae7a ("rebase -i: add another reword test", 20-08-20).
>>
>> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
>>
>> ---
>> actually, i don't understand what the test even does. shouldn't it, to
>> match the description, actually dirty the tree and verify that the
>> operation fails?
>>
>> Cc: Phillip Wood <phillip.wood@dunelm.org.uk>
> 
> As a typofix the updated text looks more correct, but the above is a > very good point, so I'll let Phillip, whose 0c164ae7 (rebase -i: add
> another reword test, 2021-08-20) introduced this test, react first.

Thanks. There is a typo, but that typo is a missing "and", the title 
should be

no uncommitted changes when rewording and the todo list is reloaded

The purpose of the test is to ensure that

  (i) There are no uncommited changes when the editor runs. i.e.  we
      commit without running the editor and then reword by amending
      that commit. This ensures that we have the same user experience
      whether or not the commit was fast-forwarded [1].

(ii) That the todo list is re-read after the commit has been
      reworded. This is to allow the user to update the todo list while
      the rebase is paused for editing the commit message.

All of the action happens in the functions called from this test. 
set_reword_editor() sets up an editor that runs "git diff --exit-code 
HEAD" to ensure there are no uncommitted changes when it is run and also 
updates the todo list. Then check_reworded_commits() checks that the 
commits were reworded and that the todo list was updated.

Best Wishes

Phillip

[1] https://lore.kernel.org/git/20190812175046.GM20404@szeder.dev/

> Thanks for spotting and fixing.
> 
>> ---
>>   t/t3404-rebase-interactive.sh | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
>> index 96a56aafbe..31ee5bc1f6 100755
>> --- a/t/t3404-rebase-interactive.sh
>> +++ b/t/t3404-rebase-interactive.sh
>> @@ -758,7 +758,7 @@ test_expect_success 'reword' '
>>   	git show HEAD~2 | grep "C changed"
>>   '
>>   
>> -test_expect_success 'no uncommited changes when rewording the todo list is reloaded' '
>> +test_expect_success 'no uncommitted changes when rewording' '
>>   	git checkout E &&
>>   	test_when_finished "git checkout @{-1}" &&
>>   	(
diff mbox series

Patch

diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 96a56aafbe..31ee5bc1f6 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -758,7 +758,7 @@  test_expect_success 'reword' '
 	git show HEAD~2 | grep "C changed"
 '
 
-test_expect_success 'no uncommited changes when rewording the todo list is reloaded' '
+test_expect_success 'no uncommitted changes when rewording' '
 	git checkout E &&
 	test_when_finished "git checkout @{-1}" &&
 	(