t4212: test bogus timestamps with git-log
commit7d9a2819415663ee5f0676d06cdbb1368fdc02c7
authorJeff King <peff@peff.net>
Mon, 24 Feb 2014 07:36:22 +0000 (24 02:36 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Feb 2014 18:12:58 +0000 (24 10:12 -0800)
tree25de3b1a12b119399b9c031b1c7e0eff6d1f0f1b
parente45bda876ae2e39ac1e11ba1609f2c363ad4959a
t4212: test bogus timestamps with git-log

When t4212 was originally added by 9dbe7c3d (pretty: handle
broken commit headers gracefully, 2013-04-17), it tested our
handling of commits with broken ident lines in which the
timestamps could not be parsed. It does so using a bogus line
like "Name <email>-<> 1234 -0000", because that simulates an
error that was seen in the wild.

Later, 03818a4 (split_ident: parse timestamp from end of
line, 2013-10-14) made our parser smart enough to actually
find the timestamp on such a line, and t4212 was adjusted to
match. While it's nice that we handle this real-world case,
this meant that we were not actually testing the
bogus-timestamp case anymore.

This patch adds a test with a totally incomprehensible
timestamp to make sure we are testing the code path.

Note that the behavior is slightly different between regular log
output and "--format=%ad". In the former case, we produce a
sentinel value and in the latter, we produce an empty
string. While at first this seems unnecessarily
inconsistent, it matches the original behavior given by
9dbe7c3d.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4212-log-corrupt.sh