From: Eric Sunshine Date: Thu, 04 Jul 2024 18:31:33 GMT Subject: Re: [PATCH] t-strvec: use test_msg() Message-ID: In-Reply-To: <35b0ba6b-d485-44f2-a19f-3ce816f8b435@web.de> On Thu, Jul 4, 2024 at 2:04 PM René Scharfe wrote: > check_strvec_loc() checks each the strvec item by looping through them s/each the/each/ > and comparing them with expected values. If a check fails then we'd > like to know which item is affected. It reports that information by > building a strbuf and delivering its contents using a failing assertion. > > Here's an example in which there are less items in the strvec than s/less/fewer/ > expected; the index of the missing item is reported in the last line: > > # check "vec->nr > nr" failed at t/unit-tests/t-strvec.c:19 > # left: 1 > # right: 1 > # check "strvec index 1" failed at t/unit-tests/t-strvec.c:71 > > Note that it is also reported in the third line, i.e. the variable > "nr" contains that index. > > Stop printing the index explicitly for checks that already report it. > The message for the same condition as above becomes: > > # check "vec->nr > nr" failed at t/unit-tests/t-strvec.c:19 > # left: 1 > # right: 1 > > For the string comparison, whose error message doesn't include the > index, report it using the simpler and more appropriate test_msg() > instead. Report the index using its actual name and format the line > like the preceding ones. The message for an unexpected string value > becomes: > > # check "!strcmp(vec->v[nr], str)" failed at t/unit-tests/t-strvec.c:24 > # left: "foo" > # right: "bar" > # nr: 0 > > Reported-by: Phillip Wood > --- Missing sign-off.