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

[PATCH v3 0/2] test-lib-functions: fix test_subcommand_inexact

From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Date
Mar 25, 2022, 19:02 UTC
Message-ID
<pull.1185.v3.git.1648234967.gitgitgadget@gmail.com>
In-Reply-To
<pull.1185.v2.git.1648146897.gitgitgadget@gmail.com>

Junio discovered in [1] that test_subcommand_inexact is more flexible than initially intended.

[1] https://lore.kernel.org/git/xmqq4k41vdwe.fsf@gitster.g/

The intention was that we do not need to specify the remaining arguments for a subcommand, but instead the current behavior is to allow the given arguments to appear as any subsequence within the command (except that the first "git" instance must be the first argument).

By changing the test that needed the helper, we can avoid the helper in the first place. Modify the test and remove the helper.

Changes in v3 =============

 * Significant edits to the test in t7700 based on Junio and Taylor's
   feedback.
 * Patch 2 now deletes the helper as it is not used anywhere.
Thanks, -Stolee
Derrick Stolee (2):
  t7700: check post-condition in kept-pack test
  test-lib-functions: remove test_subcommand_inexact
 t/t7700-repack.sh       | 57 ++++++++++++++++++++++++++++++++++++++---
 t/test-lib-functions.sh | 34 ------------------------
 2 files changed, 54 insertions(+), 37 deletions(-)
base-commit: a68dfadae5e95c7f255cf38c9efdcbc2e36d1931
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1185%2Fderrickstolee%2Ftest-subcommand-fix-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1185/derrickstolee/test-subcommand-fix-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/1185
Range-diff vs v2:
 1:  f2f8d12929b ! 1:  fb2c550512e t7700: check post-condition in kept-pack test
     @@ t/t7700-repack.sh: test_expect_success '--write-midx with preferred bitmap tips'
       	)
       '
       
     -+get_sorted_objects_from_packs () {
     -+	git show-index <$(cat) >raw &&
     -+	cut -d" " -f2 raw | sort
     ++# The first argument is expected to be a filename
     ++# and that file should contain the name of a .idx
     ++# file. Send the list of objects in that .idx file
     ++# into stdout.
     ++get_sorted_objects_from_pack () {
     ++	git show-index <$(cat "$1") >raw &&
     ++	cut -d" " -f2 raw
      +}
      +
       test_expect_success '--write-midx -b packs non-kept objects' '
     @@ t/t7700-repack.sh: test_expect_success '--write-midx with preferred bitmap tips'
      +		test_commit base &&
      +		git repack -ad &&
      +		find $objdir/pack -name "*.idx" >before &&
     -+		>$objdir/pack/$(basename $(cat before) .idx).keep &&
     ++		test_line_count = 1 before &&
     ++		before_name=$(cat before) &&
     ++		>${before_name%.idx}.keep &&
      +
      +		# Create a non-kept pack-file
      +		test_commit other &&
     @@ t/t7700-repack.sh: test_expect_success '--write-midx with preferred bitmap tips'
      +		find $objdir/pack -name "*.idx" | sort >after &&
      +		test_line_count = 2 after &&
      +		find $objdir/pack -name "*.keep" >kept &&
     -+		test_line_count = 1 kept &&
     ++		kept_name=$(cat kept) &&
     ++		echo ${kept_name%.keep}.idx >kept-idx &&
     ++		test_cmp before kept-idx &&
      +
      +		# Get object list from the kept pack.
     -+		get_sorted_objects_from_packs \
     -+			<before \
     -+			>old.objects &&
     ++		get_sorted_objects_from_pack before >old.objects &&
      +
      +		# Get object list from the one non-kept pack-file
      +		comm -13 before after >new-pack &&
     -+		get_sorted_objects_from_packs \
     -+			<new-pack \
     -+			>new.objects &&
     ++		test_line_count = 1 new-pack &&
     ++		get_sorted_objects_from_pack new-pack >new.objects &&
      +
      +		# None of the objects in the new pack should
      +		# exist within the kept pack.
 2:  ed67b748971 < -:  ----------- test-lib-functions: fix test_subcommand_inexact
 -:  ----------- > 2:  f5a96a121a5 test-lib-functions: remove test_subcommand_inexact
-- 
gitgitgadget
Previous: Junio C HamanoNext: Derrick Stolee via GitGitGadget
Message 27 of 30 in “test-lib-functions: fix test_subcommand_inexact”
  1. test-lib-functions: fix test_subcommand_inexactDerrick Stolee via GitGitGadget, Mar 21, 2022
  2. Derrick StoleeMar 22, 2022
  3. Junio C HamanoMar 23, 2022
  4. Derrick StoleeMar 23, 2022
  5. Taylor BlauMar 23, 2022
  6. Junio C HamanoMar 23, 2022
  7. Derrick StoleeMar 24, 2022
  8. Taylor BlauMar 24, 2022
  9. Derrick StoleeMar 24, 2022
  10. Junio C HamanoMar 24, 2022
  11. Abhradeep ChakrabortyMar 24, 2022
  12. Junio C HamanoMar 25, 2022
  13. Abhradeep ChakrabortyMar 25, 2022
  14. 0/2 test-lib-functions: fix test_subcommand_inexactDerrick Stolee via GitGitGadget, Mar 24, 2022
  15. 1/2 t7700: check post-condition in kept-pack testDerrick Stolee via GitGitGadget, Mar 24, 2022
  16. Taylor BlauMar 24, 2022
  17. Derrick StoleeMar 25, 2022
  18. Junio C HamanoMar 25, 2022
  19. Derrick StoleeMar 25, 2022
  20. Taylor BlauMar 25, 2022
  21. Junio C HamanoMar 25, 2022
  22. 2/2 test-lib-functions: fix test_subcommand_inexactDerrick Stolee via GitGitGadget, Mar 24, 2022
  23. Taylor BlauMar 24, 2022
  24. Junio C HamanoMar 24, 2022
  25. Derrick StoleeMar 25, 2022
  26. Junio C HamanoMar 25, 2022
  27. 0/2 test-lib-functions: fix test_subcommand_inexactDerrick Stolee via GitGitGadget, Mar 25, 2022
  28. 1/2 t7700: check post-condition in kept-pack testDerrick Stolee via GitGitGadget, Mar 25, 2022
  29. 2/2 test-lib-functions: remove test_subcommand_inexactDerrick Stolee via GitGitGadget, Mar 25, 2022
  30. Taylor BlauMar 30, 2022

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.