Re: [PATCH] t4049: avoid test failures on filemode challenged file systems (Windows)
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 29, 2012, 17:51 UTC
- Message-ID
- <7vfw3sqoup.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <7v38zss7zb.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 15 quoted lines
> Johannes Sixt <j.sixt@viscovery.net> writes: > >>> It turns out that there are at least two bugs in the diffstat >>> counting code. This series comes on top of the earlier 74faaa1 (Fix >>> "git diff --stat" for interesting - but empty - file changes, >>> 2012-10-17) to fix them. >> >> The tests still fail on Windows. I am not sure whether there is a >> difference in comparing the file system against the index or a commit. >> If there is, then the updated tests might not test the same thing. > > The hunks in the patch look fine. The last one that tests unmerged > entries do not have to have "chmod" if it gives you trouble (you > would need to reduce number of files from 4 to 3 if you go that > route, I think).
That is, something like this.
-- >8 -- Subject: [PATCH] t4049: refocus tests
The primary thing Linus's patch wanted to change was to make sure that 0-line change appears for a mode-only change. Update the first test to chmod a file that we can see in the output (limited by --stat-count) to demonstrate it. Also make sure to use test_chmod and compare the index and the tree, so that we can run this test even on a filesystem without permission bits.
Later two tests are about fixes to separate issues that were introduced and/or uncovered by Linus's patch as a side effect, but the issues are not related to mode-only changes. Remove chmod from the tests.
Signed-off-by: Junio C Hamano <gitster@pobox.com> --- t/t4049-diff-stat-count.sh | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/t/t4049-diff-stat-count.sh b/t/t4049-diff-stat-count.sh index 37f50cd..5b594e8 100755 --- a/t/t4049-diff-stat-count.sh +++ b/t/t4049-diff-stat-count.sh @@ -13,32 +13,31 @@ test_expect_success 'setup' ' git commit -m initial ' -test_expect_success 'limit output to 2 (simple)' ' +test_expect_success 'mode-only change show as a 0-line change' ' git reset --hard && - chmod +x c d && + test_chmod +x b d && echo a >a && - echo b >b && + echo c >c && cat >expect <<-\EOF a | 1 + - b | 1 + + b | 0 ... 4 files changed, 2 insertions(+) EOF - git diff --stat --stat-count=2 >actual && + git diff --stat --stat-count=2 HEAD >actual && test_i18ncmp expect actual ' test_expect_success 'binary changes do not count in lines' ' git reset --hard && - chmod +x c d && echo a >a && - echo b >b && + echo c >c && cat "$TEST_DIRECTORY"/test-binary-1.png >d && cat >expect <<-\EOF a | 1 + - b | 1 + + c | 1 + ... - 4 files changed, 2 insertions(+) + 3 files changed, 2 insertions(+) EOF git diff --stat --stat-count=2 >actual && test_i18ncmp expect actual @@ -56,12 +55,11 @@ test_expect_success 'exclude unmerged entries from total file count' ' done | git update-index --index-info && echo d >d && - chmod +x c d && cat >expect <<-\EOF a | 1 + b | 1 + ... - 4 files changed, 3 insertions(+) + 3 files changed, 3 insertions(+) EOF git diff --stat --stat-count=2 >actual && test_i18ncmp expect actual
-- 1.8.0.1.407.g3c58eb7