@@ -105,6 +105,7 @@ static void test_reftable_ref_record_roundtrip(void)
for (int i = REFTABLE_REF_DELETION; i < REFTABLE_NR_REF_VALUETYPES; i++) {
struct reftable_record in = {
.type = BLOCK_TYPE_REF,
+ .u.ref.value_type = i,
};
struct reftable_record out = { .type = BLOCK_TYPE_REF };
struct strbuf key = STRBUF_INIT;
@@ -118,15 +119,19 @@ static void test_reftable_ref_record_roundtrip(void)
in.u.ref.value_type = i;
switch (i) {
case REFTABLE_REF_DELETION:
+ check(reftable_record_is_deletion(&in));
break;
case REFTABLE_REF_VAL1:
+ check(!reftable_record_is_deletion(&in));
set_hash(in.u.ref.value.val1, 1);
break;
case REFTABLE_REF_VAL2:
+ check(!reftable_record_is_deletion(&in));
set_hash(in.u.ref.value.val2.value, 1);
set_hash(in.u.ref.value.val2.target_value, 2);
break;
case REFTABLE_REF_SYMREF:
+ check(!reftable_record_is_deletion(&in));
in.u.ref.value.symref = xstrdup("target");
break;
}
reftable_ref_record_is_deletion() is a function defined in reftable/record.{c, h} that determines whether a ref record is of type deletion or not. In the current testing setup for ref records, this function is left untested. Add tests for the same by using the wrapper function reftable_record_is_deletion(). Mentored-by: Patrick Steinhardt <ps@pks.im> Mentored-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com> --- t/unit-tests/t-reftable-record.c | 5 +++++ 1 file changed, 5 insertions(+)