Message ID | 20210216115801.4773-6-avarab@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | None | expand |
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > Refactor existing tests added in e0e7cb8080c (log -G: ignore binary > files, 2018-12-14) to use the --append option I added in > 3373518cc8b (test-lib functions: add an --append option to > test_commit, 2021-01-12) and the --printf option added in a preceding > commit. > > See also f5d79bf7dd6 (tests: refactor a few tests to use "test_commit > --append", 2021-01-12) for prior similar refactoring. This does not exactly look like a "refactoring". There are at least two differences and it is the courteous thing to do to readers to note them and explain why these differences do not impact the correctness of the tests, I would say. * The original uses a dedicated branch, while the rewritten uses a dedicated repository for these tests. This does not impact the correctness as long as all the tests that originally used the branch are made to run in this new repository with "git -C". * The youngest change removes the binary sample file, while the rewritten only truncates it. This does not impact the correctness, because a removed file and a file whose lines are all removed behave in the same way with respect to -G/-S. Both will reduce the number of occurrence of -S<needle>, and make "removal" (-) lines of -G<needle> appear in the patch. > test_expect_success 'setup log -[GS] binary & --text' ' > - git checkout --orphan GS-binary-and-text && > - git read-tree --empty && > - printf "a\na\0a\n" >data.bin && > - git add data.bin && > - git commit -m "create binary file" data.bin && > - printf "a\na\0a\n" >>data.bin && > - git commit -m "modify binary file" data.bin && > - git rm data.bin && > - git commit -m "delete binary file" data.bin && > - git log >full-log > + test_create_repo GS-bin-txt && > + test_commit -C GS-bin-txt --append --printf A data.bin "a\na\0a\n" && The --append on the first one does not make any difference ;-) > + test_commit -C GS-bin-txt --append --printf B data.bin "a\na\0a\n" && > + test_commit -C GS-bin-txt C data.bin "" && The original removes the file at the end, while this merely truncates it. > + git -C GS-bin-txt log >full-log > '
diff --git a/t/t4209-log-pickaxe.sh b/t/t4209-log-pickaxe.sh index 5d06f5f45ea..298b25265f4 100755 --- a/t/t4209-log-pickaxe.sh +++ b/t/t4209-log-pickaxe.sh @@ -107,37 +107,35 @@ test_expect_success 'log -S --no-textconv (missing textconv tool)' ' ' test_expect_success 'setup log -[GS] binary & --text' ' - git checkout --orphan GS-binary-and-text && - git read-tree --empty && - printf "a\na\0a\n" >data.bin && - git add data.bin && - git commit -m "create binary file" data.bin && - printf "a\na\0a\n" >>data.bin && - git commit -m "modify binary file" data.bin && - git rm data.bin && - git commit -m "delete binary file" data.bin && - git log >full-log + test_create_repo GS-bin-txt && + test_commit -C GS-bin-txt --append --printf A data.bin "a\na\0a\n" && + test_commit -C GS-bin-txt --append --printf B data.bin "a\na\0a\n" && + test_commit -C GS-bin-txt C data.bin "" && + git -C GS-bin-txt log >full-log ' test_expect_success 'log -G ignores binary files' ' - git log -Ga >log && + git -C GS-bin-txt log -Ga >log && test_must_be_empty log ' test_expect_success 'log -G looks into binary files with -a' ' - git log -a -Ga >log && + git -C GS-bin-txt log -a -Ga >log && test_cmp log full-log ' test_expect_success 'log -G looks into binary files with textconv filter' ' - test_when_finished "rm .gitattributes" && - echo "* diff=bin" >.gitattributes && - git -c diff.bin.textconv=cat log -Ga >log && + test_when_finished "rm GS-bin-txt/.gitattributes" && + ( + cd GS-bin-txt && + echo "* diff=bin" >.gitattributes && + git -c diff.bin.textconv=cat log -Ga >../log + ) && test_cmp log full-log ' test_expect_success 'log -S looks into binary files' ' - git log -Sa >log && + git -C GS-bin-txt log -Sa >log && test_cmp log full-log '
Refactor existing tests added in e0e7cb8080c (log -G: ignore binary files, 2018-12-14) to use the --append option I added in 3373518cc8b (test-lib functions: add an --append option to test_commit, 2021-01-12) and the --printf option added in a preceding commit. See also f5d79bf7dd6 (tests: refactor a few tests to use "test_commit --append", 2021-01-12) for prior similar refactoring. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- t/t4209-log-pickaxe.sh | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-)