t4201: make use of abbreviation in the test more robust
commit5555a2aa4bb004a24d8bea32051be0b56fb2532e
authorCharles Bailey <cbailey32@bloomberg.net>
Sun, 12 Nov 2017 15:25:23 +0000 (12 15:25 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 13 Nov 2017 03:48:00 +0000 (13 12:48 +0900)
treebfa5f093fd5762c628f3a8d1749ef96ba0089f3c
parent9752ad0bb79f680bca48db7adc45338b298304b0
t4201: make use of abbreviation in the test more robust

The test for '--abbrev' in t4201-shortlog.sh assumes that the commits
generated in the test can always be uniquely abbreviated to 5 hex digits
but this is not always the case. If you were unlucky and happened to run
the test at (say) Thu Jun 22 03:04:49 2017 +0000, you would find that
the first commit generated would collide with a tree object created
later in the same test.

This can be simulated in the version of t4201-shortlog.sh prior to this
commit by setting GIT_COMMITTER_DATE and GIT_AUTHOR_DATE to 1498100689
after sourcing test-lib.sh.

Change the test to test --abbrev=35 instead of --abbrev=5 to almost
completely avoid the possibility of a partial collision and add a call
to test_tick in the setup to make the test repeatable (the latter alone
is sufficient to make it robust enough).

Signed-off-by: Charles Bailey <cbailey32@bloomberg.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4201-shortlog.sh
t/test-lib.sh