Skip to content

t: rework tests for --pathspec-from-file

Alexandr Miloslavskiy via GitGitGadget git 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest3 patches 5 repliesIn review
  2. v33 patches 0 repliesSuperseded
  3. v23 patches 3 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v13 patches2 repliesSuperseded

Changes in v4 from the cover letter

----------------
Slightly improved commit message.

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3t: fix quotes tests for --pathspec-from-filet/t2026-checkout-pathspec-file.sh t/t2072-restore-pathspec-file.sh t/t3704-add-pathspec-file.sh +2 more+45 -110 replies
2/3t: directly test parse_pathspec_file()Makefile t/helper/test-parse-pathspec-file.c t/helper/test-tool.c +2 more+144 -00 replies
3/3t: drop copy&pasted tests for --pathspec-from-filet/t2026-checkout-pathspec-file.sh t/t2072-restore-pathspec-file.sh t/t3704-add-pathspec-file.sh +2 more+16 -3770 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [PATCH v4 0/3] t: rework tests for --pathspec-from-file

Please refer to commit messages for rationale.

This branch is a follow-up for [1] where part of branch was merged into master via [2].

Previously in [3] there were some concerns on whether removing copy&pasted tests is good. I still think that yes, it 's a good thing, mostly because of high volume of potential 13*6=78 duplicate tests.

Still, I separated this change as last patch, so that the remaining part of the branch can be taken without it.

[1] https://lore.kernel.org/git/[email protected]/
[2] https://public-inbox.org/git/[email protected]/
[3] https://lore.kernel.org/git/[email protected]/

Changes since V1
----------------
Small code formatting changes suggested in V1.

Changes since V2
----------------
Changed \\\\ escaping to use here-doc instead.

Changes since V3
----------------
Slightly improved commit message.

Alexandr Miloslavskiy (3):
t: fix quotes tests for --pathspec-from-file
t: directly test parse_pathspec_file()
t: drop copy&pasted tests for --pathspec-from-file

 Makefile                            |   1 +
 t/helper/test-parse-pathspec-file.c |  33 +++++++++
 t/helper/test-tool.c                |   1 +
 t/helper/test-tool.h                |   1 +
 t/t0067-parse_pathspec_file.sh      | 108 ++++++++++++++++++++++++++++
 t/t2026-checkout-pathspec-file.sh   |  70 +-----------------
 t/t2072-restore-pathspec-file.sh    |  70 +-----------------
 t/t3704-add-pathspec-file.sh        |  70 +-----------------
 t/t7107-reset-pathspec-file.sh      |  79 +++-----------------
 t/t7526-commit-pathspec-file.sh     |  70 +-----------------
 10 files changed, 160 insertions(+), 343 deletions(-)
 create mode 100644 t/helper/test-parse-pathspec-file.c
 create mode 100755 t/t0067-parse_pathspec_file.sh

base-commit: 0a76bd7381ec0dbb7c43776eb6d1ac906bca29e6
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-503%2FSyntevoAlex%2F%230207(git)_2b_test_parse_directly-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-503/SyntevoAlex/#0207(git)_2b_test_parse_directly-v4
Pull-Request: https://github.com/gitgitgadget/git/pull/503

Range-diff vs v3:

 1:  88790669ce = 1:  ce0c592bb4 t: fix quotes tests for --pathspec-from-file
 2:  68925c2712 = 2:  8748f3baf1 t: directly test parse_pathspec_file()
 3:  f71021b0dd ! 3:  d02a1eac0b t: drop copy&pasted tests for --pathspec-from-file

@@ -3,9 +3,9 @@
t: drop copy&pasted tests for --pathspec-from-file

With direct tests for parse_pathspec_file() already in place, it is
- not very reasonable to copy&paste 6 tests for parse_pathspec_file()
- for every git command that uses it (I counted 13 commands that could use
- it eventually).
+ not very reasonable to copy&paste 6 similar indirect tests for every git
+ command that uses parse_pathspec_file(). I counted 13 potential git
+ commands, which could eventually lead to 6*13=78 duplicate tests.

I believe that indirect tests are redundant because I don't expect direct tests to ever disagree with indirect tests.

Signature · 1 line
gitgitgadget