t-reftable-merged: improve the test t_merged_single_record()
In t-reftable-merged.c, the test t_merged_single_record() ensures that a ref ('a') which occurs in only one of the records ('r2') can be retrieved. Improve this test by adding another record 'r3' to ensure that ref 'a' only occurs in 'r2' and that merged tables don't simply read the last record. Mentored-by: Patrick Steinhardt <ps@pks.im> Mentored-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Chandra Pratap committed
Jul 12, 2024 at 11:08 UTC
c755c2f3519075028047b092dd26706ac75d1aff
1 file changed
+10
-5
t/unit-tests/t-reftable-merged.c
+10
-5
@@ -136,14 +136,19 @@ static void t_merged_single_record(void)
136
.update_index = 2,
137
.value_type = REFTABLE_REF_DELETION,
138
} };
139
+ struct reftable_ref_record r3[] = { {
140
+ .refname = (char *) "c",
141
+ .update_index = 3,
142
+ .value_type = REFTABLE_REF_DELETION,
143
+ } };
144
140
- struct reftable_ref_record *refs[] = { r1, r2 };
141
- size_t sizes[] = { ARRAY_SIZE(r1), ARRAY_SIZE(r2) };
142
- struct strbuf bufs[2] = { STRBUF_INIT, STRBUF_INIT };
145
+ struct reftable_ref_record *refs[] = { r1, r2, r3 };
146
+ size_t sizes[] = { ARRAY_SIZE(r1), ARRAY_SIZE(r2), ARRAY_SIZE(r3) };
147
+ struct strbuf bufs[3] = { STRBUF_INIT, STRBUF_INIT, STRBUF_INIT };
148
struct reftable_block_source *bs = NULL;
149
struct reftable_reader **readers = NULL;
150
struct reftable_merged_table *mt =
146
- merged_table_from_records(refs, &bs, &readers, sizes, bufs, 2);
151
+ merged_table_from_records(refs, &bs, &readers, sizes, bufs, 3);
152
struct reftable_ref_record ref = { 0 };
153
struct reftable_iterator it = { 0 };
154
int err;
@@ -157,7 +162,7 @@ static void t_merged_single_record(void)
162
check_int(ref.update_index, ==, 2);
163
reftable_ref_record_release(&ref);
164
reftable_iterator_destroy(&it);
160
- readers_destroy(readers, 2);
165
+ readers_destroy(readers, 3);
166
reftable_merged_table_free(mt);
167
for (size_t i = 0; i < ARRAY_SIZE(bufs); i++)
168
strbuf_release(&bufs[i]);