t: move reftable/block_test.c to the unit testing framework

reftable/block_test.c exercises the functions defined in reftable/block.{c, h}. Migrate reftable/block_test.c to the unit testing framework. Migration involves refactoring the tests to use the unit testing framework instead of reftable's test framework and renaming the tests to follow the unit-tests' naming conventions. 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 Aug 21, 2024 at 18:00 UTC 546cc0d64e3df8a012d785c6b423d03e16bfc0c5
4 files changed +22 -27
Makefile
+1 -1
@@ -1341,6 +1341,7 @@ UNIT_TEST_PROGRAMS += t-oidmap
1341 UNIT_TEST_PROGRAMS += t-oidtree
1342 UNIT_TEST_PROGRAMS += t-prio-queue
1343 UNIT_TEST_PROGRAMS += t-reftable-basics
1344 +UNIT_TEST_PROGRAMS += t-reftable-block
1345 UNIT_TEST_PROGRAMS += t-reftable-merged
1346 UNIT_TEST_PROGRAMS += t-reftable-pq
1347 UNIT_TEST_PROGRAMS += t-reftable-record
@@ -2682,7 +2683,6 @@ REFTABLE_OBJS += reftable/stack.o
2683 REFTABLE_OBJS += reftable/tree.o
2684 REFTABLE_OBJS += reftable/writer.o
2685
2685 -REFTABLE_TEST_OBJS += reftable/block_test.o
2686 REFTABLE_TEST_OBJS += reftable/dump.o
2687 REFTABLE_TEST_OBJS += reftable/readwrite_test.o
2688 REFTABLE_TEST_OBJS += reftable/stack_test.o
reftable/reftable-tests.h
-1
@@ -10,7 +10,6 @@ https://developers.google.com/open-source/licenses/bsd
10 #define REFTABLE_TESTS_H
11
12 int basics_test_main(int argc, const char **argv);
13 -int block_test_main(int argc, const char **argv);
13 int record_test_main(int argc, const char **argv);
14 int readwrite_test_main(int argc, const char **argv);
15 int stack_test_main(int argc, const char **argv);
t/helper/test-reftable.c
-1
@@ -5,7 +5,6 @@
5 int cmd__reftable(int argc, const char **argv)
6 {
7 /* test from simple to complex. */
8 - block_test_main(argc, argv);
8 readwrite_test_main(argc, argv);
9 stack_test_main(argc, argv);
10 return 0;
t/unit-tests/t-reftable-block.c renamed
+21 -24
@@ -6,17 +6,13 @@ license that can be found in the LICENSE file or at
6 https://developers.google.com/open-source/licenses/bsd
7 */
8
9 -#include "block.h"
9 +#include "test-lib.h"
10 +#include "reftable/block.h"
11 +#include "reftable/blocksource.h"
12 +#include "reftable/constants.h"
13 +#include "reftable/reftable-error.h"
14
11 -#include "system.h"
12 -#include "blocksource.h"
13 -#include "basics.h"
14 -#include "constants.h"
15 -#include "record.h"
16 -#include "test_framework.h"
17 -#include "reftable-tests.h"
18 -
19 -static void test_block_read_write(void)
15 +static void t_block_read_write(void)
16 {
17 const int header_off = 21; /* random */
18 char *names[30];
@@ -45,7 +41,7 @@ static void test_block_read_write(void)
41 rec.u.ref.refname = (char *) "";
42 rec.u.ref.value_type = REFTABLE_REF_DELETION;
43 n = block_writer_add(&bw, &rec);
48 - EXPECT(n == REFTABLE_API_ERROR);
44 + check_int(n, ==, REFTABLE_API_ERROR);
45
46 for (i = 0; i < N; i++) {
47 char name[100];
@@ -59,11 +55,11 @@ static void test_block_read_write(void)
55 n = block_writer_add(&bw, &rec);
56 rec.u.ref.refname = NULL;
57 rec.u.ref.value_type = REFTABLE_REF_DELETION;
62 - EXPECT(n == 0);
58 + check_int(n, ==, 0);
59 }
60
61 n = block_writer_finish(&bw);
66 - EXPECT(n > 0);
62 + check_int(n, >, 0);
63
64 block_writer_release(&bw);
65
@@ -73,11 +69,11 @@ static void test_block_read_write(void)
69
70 while (1) {
71 int r = block_iter_next(&it, &rec);
76 - EXPECT(r >= 0);
72 + check_int(r, >=, 0);
73 if (r > 0) {
74 break;
75 }
80 - EXPECT_STREQ(names[j], rec.u.ref.refname);
76 + check_str(names[j], rec.u.ref.refname);
77 j++;
78 }
79
@@ -90,20 +86,20 @@ static void test_block_read_write(void)
86 strbuf_addstr(&want, names[i]);
87
88 n = block_iter_seek_key(&it, &br, &want);
93 - EXPECT(n == 0);
89 + check_int(n, ==, 0);
90
91 n = block_iter_next(&it, &rec);
96 - EXPECT(n == 0);
92 + check_int(n, ==, 0);
93
98 - EXPECT_STREQ(names[i], rec.u.ref.refname);
94 + check_str(names[i], rec.u.ref.refname);
95
96 want.len--;
97 n = block_iter_seek_key(&it, &br, &want);
102 - EXPECT(n == 0);
98 + check_int(n, ==, 0);
99
100 n = block_iter_next(&it, &rec);
105 - EXPECT(n == 0);
106 - EXPECT_STREQ(names[10 * (i / 10)], rec.u.ref.refname);
101 + check_int(n, ==, 0);
102 + check_str(names[10 * (i / 10)], rec.u.ref.refname);
103
104 block_iter_close(&it);
105 }
@@ -116,8 +112,9 @@ static void test_block_read_write(void)
112 }
113 }
114
119 -int block_test_main(int argc, const char *argv[])
115 +int cmd_main(int argc, const char *argv[])
116 {
121 - RUN_TEST(test_block_read_write);
122 - return 0;
117 + TEST(t_block_read_write(), "read-write operations on blocks work");
118 +
119 + return test_done();
120 }