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