This is next in the series of improvements to make tests hash-independent. Introduced here is a test helper, test_translate, that allows lookups in tests based on the hash algorithm in use. Alternatives are either specified inline (the former for SHA-1, the latter for NewHash), or (more commonly) from a file based on a key. Some basic examples of translations are provided and used throughout the tests. The ultimate idea is that tests can simply drop a file into the translation directory and use their own test-specific translations if convenient. This series (and subsequent series) attempt to standardize slightly on our use of invalid object IDs in tests. Since the actual invalid IDs aren't usually very important, the translations I've made using the tables aren't necessarily entirely faithful: we will sometimes use different SHA-1 object IDs than before, but we substitute only invalid object IDs for different invalid ones. It's likely in the future that test_translate will support additional options depending on whether we want input, output, or internal formats. I had mentioned in a previous comment that a given test would be included in "the next series" (this one), but I redid the series and decided to split it into smaller pieces, so it isn't included. Sorry. Comments on any aspect of the series are welcome, but thoughts on design and naming would be especially valuable. brian m. carlson (10): t: add tool to translate hash-related values t0000: use hash translation table t0002: abstract away SHA-1-specific constants t0027: use $ZERO_OID t0064: make hash size independent t1006: make hash size independent t1400: switch hard-coded object ID to variable t1405: make hash size independent t1406: make hash-size independent t1407: make hash size independent t/t0000-basic.sh | 13 ++++----- t/t0002-gitfile.sh | 26 +++++++++--------- t/t0027-auto-crlf.sh | 14 +++++----- t/t0064-sha1-array.sh | 49 +++++++++++++++++++--------------- t/t1006-cat-file.sh | 4 +-- t/t1400-update-ref.sh | 2 +- t/t1405-main-ref-store.sh | 4 +-- t/t1406-submodule-ref-store.sh | 6 ++--- t/t1407-worktree-ref-store.sh | 4 +-- t/test-lib-functions.sh | 40 +++++++++++++++++++++++++++ t/translate/hash-info | 9 +++++++ t/translate/oid | 15 +++++++++++ 12 files changed, 129 insertions(+), 57 deletions(-) create mode 100644 t/translate/hash-info create mode 100644 t/translate/oid