From: Jonathan Nieder <jrnieder@gmail.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Frederik Schwarzer" <schwarzerf@gmail.com>,
"Brandon Casey" <drafnel@gmail.com>
Subject: [PATCH 2/7] test: use numstat instead of diffstat in funny-names test
Date: Mon, 12 Mar 2012 23:58:59 -0500 [thread overview]
Message-ID: <20120313045859.GB12550@burratino> (raw)
In-Reply-To: <20120313045100.GA12474@burratino>
This test script checks that git's plumbing commands quote filenames
with special characters like space, tab, and double-quote
appropriately in their input and output.
Since commit v1.7.9.2~13 (Use correct grammar in diffstat summary
line, 2012-02-01), the final "1 file changed, 1 insertion(+)" line
from diffstats is translatable, meaning tests that rely on exact "git
apply --stat" output have to be skipped when git is not configured to
produce output in the C locale (for example, when GETTEXT_POISON is
enabled). So:
- Tweak the three "git apply --stat" tests that check "git apply"'s
input parsing to use --numstat instead.
--numstat output is more reliable, does not vary with locale, and
is itself easier to parse. These tests are mainly about how "git
apply" parses its input so this should not result in much loss of
coverage.
- Add a new "apply --stat" test to check the quoting in --stat output
format.
This wins back a little of the test coverage lost with the patch
"test: use test_i18ncmp to check --stat output" when GETTEXT_POISON is
enabled.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
The above description is too noisy. The intent is:
The funny-names tests that use "apply --stat" are doing two things:
- making sure "git apply" can parse a patch that uses funny
filenames
- making sure that "git apply --stat" can produce a diffstat
that uses funny filenames
Only the latter requires using --stat instead of --numstat. The
former is intended for humans and varies by locale, while the
latter is a format meant to stay more stable between versions
and thus is more convenient to use in tests.
This patch makes all but one of these "apply --stat" tests use
--numstat instead, for the above reasons.
so someone (probably I) will need to consolidate the descriptions in
a spare moment.
t/t3300-funny-names.sh | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/t/t3300-funny-names.sh b/t/t3300-funny-names.sh
index 644aa219..9114893b 100755
--- a/t/t3300-funny-names.sh
+++ b/t/t3300-funny-names.sh
@@ -171,28 +171,35 @@ cat >expected <<\EOF
EOF
'
-test_expect_success TABS_IN_FILENAMES 'git diff-tree rename with-funny applied' \
+test_expect_success TABS_IN_FILENAMES 'diffstat for rename with funny chars' \
'git diff-index -M -p $t0 |
git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
test_i18ncmp expected current'
+test_expect_success TABS_IN_FILENAMES 'numstat for rename with funny chars' \
+ 'cat >expected <<-\EOF &&
+ 0 0 "tabs\t,\" (dq) and spaces"
+ EOF
+ git diff-index -M -p $t0 >diff &&
+ git apply --numstat <diff >current &&
+ test_cmp expected current'
+
test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF
- no-funny
- "tabs\t,\" (dq) and spaces"
- 2 files changed, 3 insertions(+), 3 deletions(-)
+0 3 no-funny
+3 0 "tabs\t,\" (dq) and spaces"
EOF
'
-test_expect_success TABS_IN_FILENAMES 'git diff-tree delete with-funny applied' \
+test_expect_success TABS_IN_FILENAMES 'numstat without -M for funny rename' \
'git diff-index -p $t0 |
- git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
- test_i18ncmp expected current'
+ git apply --numstat >current &&
+ test_cmp expected current'
-test_expect_success TABS_IN_FILENAMES 'git apply non-git diff' \
+test_expect_success TABS_IN_FILENAMES 'numstat for non-git funny rename diff' \
'git diff-index -p $t0 |
sed -ne "/^[-+@]/p" |
- git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
- test_i18ncmp expected current'
+ git apply --numstat >current &&
+ test_cmp expected current'
test_done
--
1.7.9.2
next prev parent reply other threads:[~2012-03-13 4:59 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-31 14:24 [PATCH] Correct singular form in diff summary line for human interaction Nguyễn Thái Ngọc Duy
2012-01-31 15:20 ` Jonathan Nieder
2012-01-31 17:50 ` Junio C Hamano
2012-02-01 1:32 ` Nguyen Thai Ngoc Duy
2012-02-01 1:45 ` Thomas Dickey
2012-02-01 1:56 ` Thomas Dickey
2012-02-01 2:37 ` Nguyen Thai Ngoc Duy
2012-02-01 3:04 ` Junio C Hamano
2012-02-01 9:40 ` Thomas Dickey
2012-02-01 12:55 ` [PATCH v2] Use correct grammar in diffstat summary line Nguyễn Thái Ngọc Duy
2012-02-01 21:26 ` Junio C Hamano
2012-02-02 14:22 ` Nguyen Thai Ngoc Duy
2012-02-02 18:24 ` Junio C Hamano
2012-02-03 1:11 ` Nguyen Thai Ngoc Duy
2012-02-03 1:18 ` Junio C Hamano
2012-02-03 12:24 ` Jeff King
2012-02-01 23:35 ` Jonathan Nieder
2012-02-02 0:20 ` [RFC/PATCH] i18n: do not define gettext/ngettext in NO_GETTEXT case Jonathan Nieder
2012-02-02 0:27 ` [PATCH v2] Use correct grammar in diffstat summary line Jonathan Nieder
2012-02-02 0:31 ` Jonathan Nieder
2012-03-13 4:51 ` [RFC/PATCH 0/7] tests: diffstat summary line varies by locale (Re: [PATCH v2] Use correct grammar in diffstat summary line) Jonathan Nieder
2012-03-13 4:54 ` [PATCH 1/7] test: use test_i18ncmp when checking --stat output Jonathan Nieder
2012-03-13 6:00 ` Junio C Hamano
2012-03-13 6:05 ` Junio C Hamano
2012-03-13 6:13 ` Jonathan Nieder
2012-03-13 6:06 ` Jonathan Nieder
2012-03-13 4:58 ` Jonathan Nieder [this message]
2012-03-13 4:59 ` [PATCH 3/7] test: modernize funny-names test style Jonathan Nieder
2012-03-13 5:00 ` [PATCH 4/7] test: test cherry-pick functionality and output separately Jonathan Nieder
2012-03-13 5:01 ` [PATCH 5/7] test: use --numstat instead of --stat in "git stash show" tests Jonathan Nieder
2012-03-13 5:02 ` [PATCH 6/7] test: use numstat instead of diffstat in binary-diff test Jonathan Nieder
2012-03-13 5:05 ` [PATCH 7/7] diffstat summary line varies by locale: miscellany Jonathan Nieder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120313045859.GB12550@burratino \
--to=jrnieder@gmail.com \
--cc=avarab@gmail.com \
--cc=drafnel@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
--cc=schwarzerf@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).