Re: [PATCH v3 22/23] cat-file: tests for new atoms added
From: Ramsay Jones <hidden>
Date: 2018-02-19 01:05:03
On 18/02/18 22:55, Ramsay Jones wrote:
On 16/02/18 14:55, Adam Dinwoodie wrote:quoted
On 12 February 2018 at 08:08, Olga Telezhnaya wrote:quoted
Add some tests for new formatting atoms from ref-filter. Some of new atoms are supported automatically, some of them are expanded into empty string (because they are useless for some types of objects), some of them could be supported later in other patches.This commit appears to be introducing failures in t1006 on Cygwin. Specifically, tests 15, 36, 58 and 89, all titled "Check %(refname) gives empty output", are failing on the pu branch at 21937aad4, and git bisect identifies this commit, 3c1571744 ("cat-file: tests for new atoms added", 2018-02-12), as the culprit.Hi Adam, Olga, Sparse has been complaining about this 'ot/cat-batch-format' branch for a while, so I had already noted (apart from a symbol which should be marked as static) something that looked somewhat off - namely, the on stack initialisation of a 'struct ref_array_item' (builtin/cat-file.c, line 246, in function batch_object_write()). In particular, the 'struct ref_array_item' ends with a [FLEX_ARRAY] field for the refname, so it clearly isn't meant to be declared on the stack. The 'ref-filter' code uses a 'constructor' function called 'new_ref_array_\ item() which, among others, takes a 'refname' parameter with which to initialise the refname FLEX_ARRAY field. So, on Linux, if you build with SANITIZE=address and then run that test:
BTW, I forgot to mention that, if you run that test without -i, then more than tests #15,36,58 and 89 will fail. In addition, tests #19-20, #40-41, #62-63 and #93-94 failed - I did not investigate these failures at all. ATB, Ramsay Jones