Re: [PATCH v2 3/1] t-strvec: tighten .alloc check in check_strvec
- From
René Scharfe <l.s.r@web.de>
- Date
- Jul 15, 2024, 16:47 UTC
- Message-ID
- <bf7fd471-18fb-41df-a306-2413c9d441bd@web.de>
- In-Reply-To
- <xmqqjzhm90mb.fsf@gitster.g>
Am 15.07.24 um 16:43 schrieb Junio C Hamano:
Show 17 quoted lines
> René Scharfe <l.s.r@web.de> writes:
>
>> diff --git a/t/unit-tests/t-strvec.c b/t/unit-tests/t-strvec.c
>> index fdb28ba220..6a4d425840 100644
>> --- a/t/unit-tests/t-strvec.c
>> +++ b/t/unit-tests/t-strvec.c
>> @@ -8,7 +8,9 @@
>> if (check_uint(ARRAY_SIZE(expect), >, 0) && \
>> check_pointer_eq(expect[ARRAY_SIZE(expect) - 1], NULL) && \
>> check_uint((vec)->nr, ==, ARRAY_SIZE(expect) - 1) && \
>> - check_uint((vec)->nr, <=, (vec)->alloc)) { \
>> + ((vec)->v == empty_strvec ? \
>> + check_uint((vec)->nr, ==, (vec)->alloc) : \
>> + check_uint((vec)->nr, <, (vec)->alloc))) { \
>
> Not a huge deal but with empty_strvec, don't we want to barf if
> nr==alloc==1?Yes, and that's handled by the comparison with ARRAY_SIZE(expect) - 1 above. Perhaps comparing to 0 explicitly would be clearer. My thinking was just to split up the old <= check into its < and == cases, without changing anything else..
Show 6 quoted lines
>
>> for (size_t i = 0; i < ARRAY_SIZE(expect); i++) { \
>> if (!check_str((vec)->v[i], expect[i])) { \
>> test_msg(" i: %"PRIuMAX, i); \
>> --
>> 2.45.2