Skip to content

Commit a0aaa85

Browse files
Seyi007gitster
authored andcommitted
t/unit-tests: convert reftable pq test to use clar
Adapt reftable priority queue test file to use clar by using clar assertions where necessary. Signed-off-by: Seyi Kuforiji <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent c7784ba commit a0aaa85

File tree

3 files changed

+30
-34
lines changed

3 files changed

+30
-34
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1367,6 +1367,7 @@ CLAR_TEST_SUITES += u-prio-queue
13671367
CLAR_TEST_SUITES += u-reftable-basics
13681368
CLAR_TEST_SUITES += u-reftable-block
13691369
CLAR_TEST_SUITES += u-reftable-merged
1370+
CLAR_TEST_SUITES += u-reftable-pq
13701371
CLAR_TEST_SUITES += u-reftable-tree
13711372
CLAR_TEST_SUITES += u-strbuf
13721373
CLAR_TEST_SUITES += u-strcmp-offset
@@ -1380,7 +1381,6 @@ CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/unit-test.o
13801381
CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/lib-oid.o
13811382
CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/lib-reftable-clar.o
13821383

1383-
UNIT_TEST_PROGRAMS += t-reftable-pq
13841384
UNIT_TEST_PROGRAMS += t-reftable-readwrite
13851385
UNIT_TEST_PROGRAMS += t-reftable-record
13861386
UNIT_TEST_PROGRAMS += t-reftable-stack

t/meson.build

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ clar_test_suites = [
1111
'unit-tests/u-reftable-basics.c',
1212
'unit-tests/u-reftable-block.c',
1313
'unit-tests/u-reftable-merged.c',
14+
'unit-tests/u-reftable-pq.c',
1415
'unit-tests/u-reftable-tree.c',
1516
'unit-tests/u-strbuf.c',
1617
'unit-tests/u-strcmp-offset.c',
@@ -58,7 +59,7 @@ clar_unit_tests = executable('unit-tests',
5859
test('unit-tests', clar_unit_tests)
5960

6061
unit_test_programs = [
61-
'unit-tests/t-reftable-pq.c',
62+
'unit-tests/t-reftable-reader.c',
6263
'unit-tests/t-reftable-readwrite.c',
6364
'unit-tests/t-reftable-record.c',
6465
'unit-tests/t-reftable-stack.c',

t/unit-tests/t-reftable-pq.c renamed to t/unit-tests/u-reftable-pq.c

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ license that can be found in the LICENSE file or at
66
https://developers.google.com/open-source/licenses/bsd
77
*/
88

9-
#include "test-lib.h"
9+
#include "unit-test.h"
10+
#include "lib-reftable-clar.h"
1011
#include "reftable/constants.h"
1112
#include "reftable/pq.h"
1213
#include "strbuf.h"
@@ -15,26 +16,27 @@ static void merged_iter_pqueue_check(const struct merged_iter_pqueue *pq)
1516
{
1617
for (size_t i = 1; i < pq->len; i++) {
1718
size_t parent = (i - 1) / 2;
18-
check(pq_less(&pq->heap[parent], &pq->heap[i]));
19+
cl_assert(pq_less(&pq->heap[parent], &pq->heap[i]) != 0);
1920
}
2021
}
2122

2223
static int pq_entry_equal(struct pq_entry *a, struct pq_entry *b)
2324
{
2425
int cmp;
25-
check(!reftable_record_cmp(a->rec, b->rec, &cmp));
26+
cl_assert_equal_i(reftable_record_cmp(a->rec, b->rec, &cmp), 0);
2627
return !cmp && (a->index == b->index);
2728
}
2829

29-
static void t_pq_record(void)
30+
void test_reftable_pq__record(void)
3031
{
3132
struct merged_iter_pqueue pq = { 0 };
3233
struct reftable_record recs[54];
3334
size_t N = ARRAY_SIZE(recs) - 1, i;
3435
char *last = NULL;
3536

3637
for (i = 0; i < N; i++) {
37-
check(!reftable_record_init(&recs[i], REFTABLE_BLOCK_TYPE_REF));
38+
cl_assert(!reftable_record_init(&recs[i],
39+
REFTABLE_BLOCK_TYPE_REF));
3840
recs[i].u.ref.refname = xstrfmt("%02"PRIuMAX, (uintmax_t)i);
3941
}
4042

@@ -53,13 +55,13 @@ static void t_pq_record(void)
5355
struct pq_entry top = merged_iter_pqueue_top(pq);
5456
struct pq_entry e;
5557

56-
check(!merged_iter_pqueue_remove(&pq, &e));
58+
cl_assert_equal_i(merged_iter_pqueue_remove(&pq, &e), 0);
5759
merged_iter_pqueue_check(&pq);
5860

59-
check(pq_entry_equal(&top, &e));
60-
check(reftable_record_type(e.rec) == REFTABLE_BLOCK_TYPE_REF);
61+
cl_assert(pq_entry_equal(&top, &e));
62+
cl_assert(reftable_record_type(e.rec) == REFTABLE_BLOCK_TYPE_REF);
6163
if (last)
62-
check_int(strcmp(last, e.rec->u.ref.refname), <, 0);
64+
cl_assert(strcmp(last, e.rec->u.ref.refname) < 0);
6365
last = e.rec->u.ref.refname;
6466
}
6567

@@ -68,15 +70,16 @@ static void t_pq_record(void)
6870
merged_iter_pqueue_release(&pq);
6971
}
7072

71-
static void t_pq_index(void)
73+
void test_reftable_pq__index(void)
7274
{
7375
struct merged_iter_pqueue pq = { 0 };
7476
struct reftable_record recs[13];
7577
char *last = NULL;
7678
size_t N = ARRAY_SIZE(recs), i;
7779

7880
for (i = 0; i < N; i++) {
79-
check(!reftable_record_init(&recs[i], REFTABLE_BLOCK_TYPE_REF));
81+
cl_assert(!reftable_record_init(&recs[i],
82+
REFTABLE_BLOCK_TYPE_REF));
8083
recs[i].u.ref.refname = (char *) "refs/heads/master";
8184
}
8285

@@ -96,28 +99,29 @@ static void t_pq_index(void)
9699
struct pq_entry top = merged_iter_pqueue_top(pq);
97100
struct pq_entry e;
98101

99-
check(!merged_iter_pqueue_remove(&pq, &e));
102+
cl_assert_equal_i(merged_iter_pqueue_remove(&pq, &e), 0);
100103
merged_iter_pqueue_check(&pq);
101104

102-
check(pq_entry_equal(&top, &e));
103-
check(reftable_record_type(e.rec) == REFTABLE_BLOCK_TYPE_REF);
104-
check_int(e.index, ==, i);
105+
cl_assert(pq_entry_equal(&top, &e));
106+
cl_assert(reftable_record_type(e.rec) == REFTABLE_BLOCK_TYPE_REF);
107+
cl_assert_equal_i(e.index, i);
105108
if (last)
106-
check_str(last, e.rec->u.ref.refname);
109+
cl_assert_equal_s(last, e.rec->u.ref.refname);
107110
last = e.rec->u.ref.refname;
108111
}
109112

110113
merged_iter_pqueue_release(&pq);
111114
}
112115

113-
static void t_merged_iter_pqueue_top(void)
116+
void test_reftable_pq__merged_iter_pqueue_top(void)
114117
{
115118
struct merged_iter_pqueue pq = { 0 };
116119
struct reftable_record recs[13];
117120
size_t N = ARRAY_SIZE(recs), i;
118121

119122
for (i = 0; i < N; i++) {
120-
check(!reftable_record_init(&recs[i], REFTABLE_BLOCK_TYPE_REF));
123+
cl_assert(!reftable_record_init(&recs[i],
124+
REFTABLE_BLOCK_TYPE_REF));
121125
recs[i].u.ref.refname = (char *) "refs/heads/master";
122126
}
123127

@@ -137,25 +141,16 @@ static void t_merged_iter_pqueue_top(void)
137141
struct pq_entry top = merged_iter_pqueue_top(pq);
138142
struct pq_entry e;
139143

140-
check(!merged_iter_pqueue_remove(&pq, &e));
144+
cl_assert_equal_i(merged_iter_pqueue_remove(&pq, &e), 0);
141145

142146
merged_iter_pqueue_check(&pq);
143-
check(pq_entry_equal(&top, &e));
144-
check(reftable_record_equal(top.rec, &recs[i], REFTABLE_HASH_SIZE_SHA1));
147+
cl_assert(pq_entry_equal(&top, &e) != 0);
148+
cl_assert(reftable_record_equal(top.rec, &recs[i], REFTABLE_HASH_SIZE_SHA1) != 0);
145149
for (size_t j = 0; i < pq.len; j++) {
146-
check(pq_less(&top, &pq.heap[j]));
147-
check_int(top.index, >, j);
150+
cl_assert(pq_less(&top, &pq.heap[j]) != 0);
151+
cl_assert(top.index > j);
148152
}
149153
}
150154

151155
merged_iter_pqueue_release(&pq);
152156
}
153-
154-
int cmd_main(int argc UNUSED, const char *argv[] UNUSED)
155-
{
156-
TEST(t_pq_record(), "pq works with record-based comparison");
157-
TEST(t_pq_index(), "pq works with index-based comparison");
158-
TEST(t_merged_iter_pqueue_top(), "merged_iter_pqueue_top works");
159-
160-
return test_done();
161-
}

0 commit comments

Comments
 (0)