[PATCH 4/5] fsck: add a few committer name tests
- From
Dmitry Ivankov <divanorama@gmail.com>
- Date
- Jul 28, 2011, 05:44 UTC
- Message-ID
- <1311831844-13123-5-git-send-email-divanorama@gmail.com>
- In-Reply-To
- <1311831844-13123-1-git-send-email-divanorama@gmail.com>
fsck reports "missing space before <email>" for committer string equal to "name email>". It'd be nicer to say "missing < in email" or "name is bad" (has > in it). The second option looks a bit better, add such a failing test.
For "name> <email>" no error is reported. Looks like a bug, so add such a failing test."
Signed-off-by: Dmitry Ivankov <divanorama@gmail.com> --- t/t1450-fsck.sh | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh index bb01d5a..fc7ee8e 100755 --- a/t/t1450-fsck.sh +++ b/t/t1450-fsck.sh @@ -110,6 +110,30 @@ test_expect_success 'email with embedded > is not okay' ' grep "error in commit $new" out ' +test_expect_failure 'missing < email delimiter is reported nicely' ' + git cat-file commit HEAD >basis && + sed "s/<//" basis >bad-email-2 && + new=$(git hash-object -t commit -w --stdin <bad-email-2) && + test_when_finished "remove_object $new" && + git update-ref refs/heads/bogus "$new" && + test_when_finished "git update-ref -d refs/heads/bogus" && + git fsck 2>out && + cat out && + grep "error in commit $new.* - bad name" out +' + +test_expect_failure '> in name is reported' ' + git cat-file commit HEAD >basis && + sed "s/ </> </" basis >bad-email-3 && + new=$(git hash-object -t commit -w --stdin <bad-email-3) && + test_when_finished "remove_object $new" && + git update-ref refs/heads/bogus "$new" && + test_when_finished "git update-ref -d refs/heads/bogus" && + git fsck 2>out && + cat out && + grep "error in commit $new" out +' + test_expect_success 'tag pointing to nonexistent' ' cat >invalid-tag <<-\EOF && object ffffffffffffffffffffffffffffffffffffffff
-- 1.7.3.4