t-reftable-record: add ref tests for reftable_record_is_deletion()

reftable_record_is_deletion() is a function defined in
reftable/record.{c, h} that determines whether a record is of
type deletion or not. In the current testing setup, this function
is left untested for all the four record types (ref, log, obj, index).

Add tests for this function in the case of ref records.

Mentored-by: Patrick Steinhardt <ps@pks.im>
Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com>
Acked-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Chandra Pratap 2024-07-02 12:52:19 +05:30 committed by Junio C Hamano
parent abb1834f2a
commit aa3fef4ff3
1 changed files with 2 additions and 0 deletions

View File

@ -102,6 +102,7 @@ static void t_reftable_ref_record_roundtrip(void)
for (int i = REFTABLE_REF_DELETION; i < REFTABLE_NR_REF_VALUETYPES; i++) { for (int i = REFTABLE_REF_DELETION; i < REFTABLE_NR_REF_VALUETYPES; i++) {
struct reftable_record in = { struct reftable_record in = {
.type = BLOCK_TYPE_REF, .type = BLOCK_TYPE_REF,
.u.ref.value_type = i,
}; };
struct reftable_record out = { .type = BLOCK_TYPE_REF }; struct reftable_record out = { .type = BLOCK_TYPE_REF };
struct strbuf key = STRBUF_INIT; struct strbuf key = STRBUF_INIT;
@ -132,6 +133,7 @@ static void t_reftable_ref_record_roundtrip(void)
t_copy(&in); t_copy(&in);


check_int(reftable_record_val_type(&in), ==, i); check_int(reftable_record_val_type(&in), ==, i);
check_int(reftable_record_is_deletion(&in), ==, i == REFTABLE_REF_DELETION);


reftable_record_key(&in, &key); reftable_record_key(&in, &key);
n = reftable_record_encode(&in, dest, GIT_SHA1_RAWSZ); n = reftable_record_encode(&in, dest, GIT_SHA1_RAWSZ);