Re: [PATCH 00/10] Hash-independent tests (part 1)
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Mar 29, 2018, 14:01 UTC
- Message-ID
- <nycvar.QRO.7.76.6.1803291600240.5026@qfpub.tvgsbejvaqbjf.bet>
- In-Reply-To
- <xmqqh8p087ck.fsf@gitster-ct.c.googlers.com>
Hi Junio,
On Wed, 28 Mar 2018, Junio C Hamano wrote:
Show 24 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > >> Ideally, the existing one be annotated with prereq SHA1, and also > >> duplicated with a tweak to cause the same kind of (half-)collision > >> under the NewHash and be annotated with prereq NewHash. > > > > That's a good idea. I wonder whether we want to be a bit more specific, > > though, so that we have something grep'able for the future? Something like > > SHA1_SHORT_COLLISION or some such? > > Sorry, you lost me. > > What I meant was that a test, for example, that expects the object > name for an empty blob begins with e69de29 is valid ONLY when Git is > using SHA-1 to name objects, so such a test should be run only when > Git is using SHA-1 and no other hash. All tests in t1512 that > expects the sequence of events in it would yield blobs and trees > whose names have many leading "0"s are the same way. > > I think it would do to have a single prerequisite to cover all such > tests: "Run this piece of test only when Git is using SHA-1 hash". > I do not think you need a set of prerequisites to say "Run this with > SHA-1 because we are testing X" where X may be "disambiguation", > "unique-abbrev", "loose-refs", or whatever.
I meant for the test case to be annotated such that one could find easily which test cases rely on specially-crafted objects to cause identical hash prefixes.
But I guess it is not worth the effort (because you'll only find out which tests miss that annotation when you try to port the test suite to a new hash).
Ciao, Dscho