git-commit-vandalism/t/helper
Johannes Schindelin a07fb0507f t0006 & t5000: prepare for 64-bit timestamps
Git's source code refers to timestamps as unsigned longs. On 32-bit
platforms, as well as on Windows, unsigned long is not large enough to
capture dates that are "absurdly far in the future".

It is perfectly valid by the C standard, of course, for the `long` data
type to refer to 32-bit integers. That is why the `time_t` data type
exists: so that it can be 64-bit even if `long` is 32-bit. Git's source
code simply uses an incorrect data type for timestamps, is all.

The earlier quick fix 6b9c38e14c (t0006: skip "far in the future" test
when unsigned long is not long enough, 2016-07-11) papered over this
issue simply by skipping the respective test cases on platforms where
they would fail due to the data type in use.

This quick fix, however, tests for *long* to be 64-bit or not. What we
need, though, is a test that says whether *whatever data type we use for
timestamps* is 64-bit or not.

The same quick fix was used to handle the similar problem where Git's
source code uses `unsigned long` to represent size, instead of `size_t`,
conflating the two issues.

So let's just add another prerequisite to test specifically whether
timestamps are represented by a 64-bit data type or not. Later, after we
switch to a larger data type, we can flip that prerequisite to test
`time_t` instead of `long`.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-04-20 22:07:15 -07:00
..
.gitignore Merge branch 'jh/memihash-opt' 2017-04-19 21:37:25 -07:00
test-chmtime.c
test-config.c t1309: test read_early_config() 2017-03-14 14:24:16 -07:00
test-ctype.c
test-date.c t0006 & t5000: prepare for 64-bit timestamps 2017-04-20 22:07:15 -07:00
test-delta.c
test-dump-cache-tree.c test-*-cache-tree: setup git dir 2016-10-26 13:30:51 -07:00
test-dump-split-index.c
test-dump-untracked-cache.c use QSORT 2016-09-29 15:42:18 -07:00
test-fake-ssh.c
test-genrandom.c
test-hashmap.c
test-index-version.c
test-lazy-init-name-hash.c name-hash: add test-lazy-init-name-hash 2017-03-24 11:00:03 -07:00
test-line-buffer.c
test-match-trees.c
test-mergesort.c
test-mktemp.c
test-online-cpus.c test-online-cpus: helper to return cpu count 2017-04-12 23:17:19 -07:00
test-parse-options.c
test-path-utils.c
test-prio-queue.c
test-read-cache.c test-read-cache: setup git dir 2017-04-16 20:05:11 -07:00
test-ref-store.c t/helper: add test-ref-store to test ref-store functions 2017-04-14 03:53:25 -07:00
test-regex.c
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c hold_locked_index(): align error handling with hold_lockfile_for_update() 2016-12-07 11:31:59 -08:00
test-sha1-array.c Rename sha1_array to oid_array 2017-03-31 08:33:56 -07:00
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c perf: add basic sort performance test 2017-01-23 11:02:37 -08:00
test-submodule-config.c
test-subprocess.c
test-svn-fe.c
test-urlmatch-normalization.c
test-wildmatch.c