Skip to content

Commit c755c2f

Browse files
Chandra Pratapgitster
authored andcommitted
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 <[email protected]> Mentored-by: Christian Couder <[email protected]> Signed-off-by: Chandra Pratap <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent e8ed7d1 commit c755c2f

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

t/unit-tests/t-reftable-merged.c

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,19 @@ static void t_merged_single_record(void)
136136
.update_index = 2,
137137
.value_type = REFTABLE_REF_DELETION,
138138
} };
139+
struct reftable_ref_record r3[] = { {
140+
.refname = (char *) "c",
141+
.update_index = 3,
142+
.value_type = REFTABLE_REF_DELETION,
143+
} };
139144

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 };
143148
struct reftable_block_source *bs = NULL;
144149
struct reftable_reader **readers = NULL;
145150
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);
147152
struct reftable_ref_record ref = { 0 };
148153
struct reftable_iterator it = { 0 };
149154
int err;
@@ -157,7 +162,7 @@ static void t_merged_single_record(void)
157162
check_int(ref.update_index, ==, 2);
158163
reftable_ref_record_release(&ref);
159164
reftable_iterator_destroy(&it);
160-
readers_destroy(readers, 2);
165+
readers_destroy(readers, 3);
161166
reftable_merged_table_free(mt);
162167
for (size_t i = 0; i < ARRAY_SIZE(bufs); i++)
163168
strbuf_release(&bufs[i]);

0 commit comments

Comments
 (0)