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

Re: [PATCH 1/2] t7501: Add tests for various index usages, -i and -o, of commit command.

From
Ghanshyam Thakkar <shyamthakkar001@gmail.com>
Date
Jan 9, 2024, 17:10 UTC
Message-ID
<CYACBX8Y10KJ.3QVLHQN8LLZ86@gmail.com>
In-Reply-To
<CAP8UFD0GJf5+eOTxy6s+zCzpDmCU_FY4BjwtjTE7RvZ5mKettA@mail.gmail.com>
On Tue Jan 9, 2024 at 2:50 PM IST, Christian Couder wrote:
Show 5 quoted lines
> First about the commit subject:
>
> "t7501: Add tests for various index usages, -i and -o, of commit command."
>
> it should be shorter, shouldn't end with a "." and "Add" should be "add".
Updated in v2.
Show 12 quoted lines
> On Tue, Jan 9, 2024 at 7:10 AM Ghanshyam Thakkar
> <shyamthakkar001@gmail.com> wrote:
> >
> > This commit adds tests for -i and -o flags of the commit command. It
> > includes testing -i with and without staged changes, testing -o with and
> > without staged changes, and testing -i and -o together.
>
> A few suggestions to make things a bit more clear:
>
>   - tell that -i is a synonymous for --include and -o for --only
>   - tell if there are already tests for these options
>   - tell why the tests you add are worth it if tests for an option already exist
I have updated the commit messages in v2 to address these points.
Show 22 quoted lines
> > Signed-off-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
> > ---
> >  t/t7501-commit-basic-functionality.sh | 90 +++++++++++++++++++++++++++
> >  1 file changed, 90 insertions(+)
> >
> > diff --git a/t/t7501-commit-basic-functionality.sh b/t/t7501-commit-basic-functionality.sh
> > index 3d8500a52e..71dc52ce3a 100755
> > --- a/t/t7501-commit-basic-functionality.sh
> > +++ b/t/t7501-commit-basic-functionality.sh
> > @@ -76,6 +76,96 @@ test_expect_success 'nothing to commit' '
> >         test_must_fail git commit -m initial
> >  '
> >
> > +test_expect_success 'commit with -i fails with untracked files' '
> > +       test_when_finished "rm -rf testdir" &&
> > +       git init testdir &&
> > +       echo content >testdir/file.txt &&
> > +       test_must_fail git -C testdir commit -i file.txt -m initial
> > +'
>
> Existing tests didn't need a repo, so I am not sure it's worth
> creating a testdir repo just for this test.

Yes, I just wanted to make sure the files were not tracked. However, I have updated these instaces to use the existing repo and use unique non-generic names for generating untracked files.

Show 5 quoted lines
> Also I am not sure this is the best place in the test script to add -i
> and -o related tests. Here we are between a 'nothing to commit' test
> and a '--dry-run fails with nothing to commit' and then more 'nothing
> to commit' related tests. I think it would be better if all those
> 'nothing to commit' related tests could stay together.

I have moved these tests above the "--amend" related tests, which do not break the flow of the tests.

Show 6 quoted lines
> > +test_expect_success 'commit with -i' '
> > +       echo content >bar &&
> > +       git add bar &&
> > +       git commit -m "bar" &&
>
> Why is the above needed for this test?

This was to make sure that the file is tracked, however, I realised that committing is not necessary, so I have updated this test to use existing files in repo and to not generate a new one.

Show 14 quoted lines
>
> > +       echo content2 >bar &&
> > +       git commit -i bar -m "bar second"
> > +'
> > +
> > +test_expect_success 'commit with -i multiple files' '
> > +       test_when_finished "git reset --hard" &&
> > +       echo content >bar &&
> > +       echo content >baz &&
> > +       echo content >saz &&
> > +       git add bar baz saz &&
> > +       git commit -m "bar baz saz" &&
>
> Not sure why the above is needed here too.

Similar to above, I have updated this test to use existing files in repo and to not generate a new one.

Show 43 quoted lines
>
> > +       echo content2 >bar &&
> > +       echo content2 >baz &&
> > +       echo content2 >saz &&
> > +       git commit -i bar saz -m "bar" &&
> > +       git diff --name-only >remaining &&
> > +       test_grep "baz" remaining
> > +'
> > +
> > +test_expect_success 'commit with -i includes staged changes' '
> > +       test_when_finished "git reset --hard" &&
> > +       echo content >bar &&
> > +       git add bar &&
> > +       git commit -m "bar" &&
> > +
> > +       echo content2 >bar &&
> > +       echo content2 >baz &&
> > +       git add baz &&
> > +       git commit -i bar -m "bar baz" &&
> > +       git diff --name-only >remaining &&
> > +       test_must_be_empty remaining &&
> > +       git diff --name-only --staged >remaining &&
> > +       test_must_be_empty remaining
> > +'
> > +
> > +test_expect_success 'commit with -o' '
> > +       echo content >bar &&
> > +       git add bar &&
> > +       git commit -m "bar" &&
> > +       echo content2 >bar &&
> > +       git commit -o bar -m "bar again"
> > +'
> > +
> > +test_expect_success 'commit with -o fails with untracked files' '
> > +       test_when_finished "rm -rf testdir" &&
> > +       git init testdir &&
> > +       echo content >testdir/bar &&
> > +       test_must_fail git -C testdir commit -o bar -m "bar"
> > +'
> > +
> > +test_expect_success 'commit with -o exludes staged changes' '
>
> s/exludes/excludes/
Done.
Show 16 quoted lines
>
> > +       test_when_finished "git reset --hard" &&
> > +       echo content >bar &&
> > +       echo content >baz &&
> > +       git add . &&
> > +       git commit -m "bar baz" &&
> > +
> > +       echo content2 >bar &&
> > +       echo content2 >baz &&
> > +       git add baz &&
> > +       git commit -o bar -m "bar" &&
> > +       git diff --name-only --staged >actual &&
> > +       test_grep "baz" actual
> > +'
>
> Thanks.
Thanks for the review!
Previous: Christian CouderNext: Junio C Hamano
Message 4 of 37 in “[GSOC] t7501: Add tests for various index usages, -i and -o, of commit command and amending commit to add signoff.”
  1. 0/2 [GSOC] t7501: Add tests for various index usages, -i and -o, of commit command and amending commit to add signoff.Ghanshyam Thakkar, Jan 9, 2024
  2. 1/2 t7501: Add tests for various index usages, -i and -o, of commit command.Ghanshyam Thakkar, Jan 9, 2024
  3. Christian CouderJan 9, 2024
  4. Ghanshyam ThakkarJan 9, 2024
  5. Junio C HamanoJan 9, 2024
  6. 2/2 t7501: Add test for amending commit to add signoff.Ghanshyam Thakkar, Jan 9, 2024
  7. Phillip WoodJan 9, 2024
  8. Ghanshyam ThakkarJan 9, 2024
  9. Junio C HamanoJan 9, 2024
  10. Christian CouderJan 9, 2024
  11. 0/2 t7501: add tests for --include, --only,Ghanshyam Thakkar, Jan 9, 2024
  12. 0/2 t7501: add tests for --include, --only andGhanshyam Thakkar, Jan 10, 2024
  13. 0/2 t7501: add tests for --include, --only, --signoffGhanshyam Thakkar, Jan 12, 2024
  14. 1/2 t7501: add tests for --include and --onlyGhanshyam Thakkar, Jan 12, 2024
  15. Junio C HamanoJan 12, 2024
  16. Ghanshyam ThakkarJan 13, 2024
  17. Junio C HamanoJan 13, 2024
  18. Ghanshyam ThakkarJan 13, 2024
  19. 2/2 t7501: add tests for --amend --signoffGhanshyam Thakkar, Jan 12, 2024
  20. 0/2 t7501: add tests for --include, --only, --signoffGhanshyam Thakkar, Jan 13, 2024
  21. 1/2 t7501: add tests for --include and --onlyGhanshyam Thakkar, Jan 13, 2024
  22. Junio C HamanoJan 16, 2024
  23. Junio C HamanoJan 16, 2024
  24. 2/2 t7501: add tests for --amend --signoffGhanshyam Thakkar, Jan 13, 2024
  25. 0/2 t7501: add tests for --include, --only, --signoffGhanshyam Thakkar, Jan 17, 2024
  26. 1/2 t7501: add tests for --include and --onlyGhanshyam Thakkar, Jan 17, 2024
  27. 2/2 t7501: add tests for --amend --signoffGhanshyam Thakkar, Jan 17, 2024
  28. Junio C HamanoJan 17, 2024
  29. 1/2 t7501: add tests for --include and --onlyGhanshyam Thakkar, Jan 10, 2024
  30. Junio C HamanoJan 10, 2024
  31. Ghanshyam ThakkarJan 11, 2024
  32. phillip.wood123@gmail.comJan 11, 2024
  33. 2/2 t7501: add tests for --amend --signoffGhanshyam Thakkar, Jan 10, 2024
  34. phillip.wood123@gmail.comJan 11, 2024
  35. 1/2 t7501: add tests for --include, --only of commitGhanshyam Thakkar, Jan 9, 2024
  36. Junio C HamanoJan 9, 2024
  37. 2/2 t7501: add test for --amend with --signoffGhanshyam Thakkar, Jan 9, 2024

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.