@@ -7,6 +7,7 @@ license that can be found in the LICENSE file or at
7
7
*/
8
8
9
9
#include "test-lib.h"
10
+ #include "lib-reftable.h"
10
11
#include "reftable/blocksource.h"
11
12
#include "reftable/constants.h"
12
13
#include "reftable/merged.h"
@@ -15,91 +16,23 @@ license that can be found in the LICENSE file or at
15
16
#include "reftable/reftable-merged.h"
16
17
#include "reftable/reftable-writer.h"
17
18
18
- static ssize_t strbuf_add_void (void * b , const void * data , const size_t sz )
19
- {
20
- strbuf_add (b , data , sz );
21
- return sz ;
22
- }
23
-
24
- static int noop_flush (void * arg UNUSED )
25
- {
26
- return 0 ;
27
- }
28
-
29
- static void write_test_table (struct strbuf * buf ,
30
- struct reftable_ref_record refs [], const size_t n )
31
- {
32
- uint64_t min = 0xffffffff ;
33
- uint64_t max = 0 ;
34
- size_t i ;
35
- int err ;
36
-
37
- struct reftable_write_options opts = {
38
- .block_size = 256 ,
39
- };
40
- struct reftable_writer * w = NULL ;
41
- for (i = 0 ; i < n ; i ++ ) {
42
- uint64_t ui = refs [i ].update_index ;
43
- if (ui > max )
44
- max = ui ;
45
- if (ui < min )
46
- min = ui ;
47
- }
48
-
49
- w = reftable_new_writer (& strbuf_add_void , & noop_flush , buf , & opts );
50
- reftable_writer_set_limits (w , min , max );
51
-
52
- for (i = 0 ; i < n ; i ++ ) {
53
- uint64_t before = refs [i ].update_index ;
54
- int n = reftable_writer_add_ref (w , & refs [i ]);
55
- check_int (n , = = , 0 );
56
- check_int (before , = = , refs [i ].update_index );
57
- }
58
-
59
- err = reftable_writer_close (w );
60
- check (!err );
61
-
62
- reftable_writer_free (w );
63
- }
64
-
65
- static void write_test_log_table (struct strbuf * buf , struct reftable_log_record logs [],
66
- const size_t n , const uint64_t update_index )
67
- {
68
- int err ;
69
-
70
- struct reftable_write_options opts = {
71
- .block_size = 256 ,
72
- .exact_log_message = 1 ,
73
- };
74
- struct reftable_writer * w = NULL ;
75
- w = reftable_new_writer (& strbuf_add_void , & noop_flush , buf , & opts );
76
- reftable_writer_set_limits (w , update_index , update_index );
77
-
78
- for (size_t i = 0 ; i < n ; i ++ ) {
79
- int err = reftable_writer_add_log (w , & logs [i ]);
80
- check (!err );
81
- }
82
-
83
- err = reftable_writer_close (w );
84
- check (!err );
85
-
86
- reftable_writer_free (w );
87
- }
88
-
89
19
static struct reftable_merged_table *
90
20
merged_table_from_records (struct reftable_ref_record * * refs ,
91
21
struct reftable_block_source * * source ,
92
22
struct reftable_reader * * * readers , const size_t * sizes ,
93
23
struct strbuf * buf , const size_t n )
94
24
{
95
25
struct reftable_merged_table * mt = NULL ;
26
+ struct reftable_write_options opts = {
27
+ .block_size = 256 ,
28
+ };
96
29
int err ;
97
30
98
31
REFTABLE_CALLOC_ARRAY (* readers , n );
99
32
REFTABLE_CALLOC_ARRAY (* source , n );
100
33
101
34
for (size_t i = 0 ; i < n ; i ++ ) {
102
- write_test_table (& buf [i ], refs [i ], sizes [i ]);
35
+ t_reftable_write_to_buf (& buf [i ], refs [i ], sizes [i ], NULL , 0 , & opts );
103
36
block_source_from_strbuf (& (* source )[i ], & buf [i ]);
104
37
105
38
err = reftable_reader_new (& (* readers )[i ], & (* source )[i ],
@@ -268,13 +201,17 @@ merged_table_from_log_records(struct reftable_log_record **logs,
268
201
struct strbuf * buf , const size_t n )
269
202
{
270
203
struct reftable_merged_table * mt = NULL ;
204
+ struct reftable_write_options opts = {
205
+ .block_size = 256 ,
206
+ .exact_log_message = 1 ,
207
+ };
271
208
int err ;
272
209
273
210
REFTABLE_CALLOC_ARRAY (* readers , n );
274
211
REFTABLE_CALLOC_ARRAY (* source , n );
275
212
276
213
for (size_t i = 0 ; i < n ; i ++ ) {
277
- write_test_log_table (& buf [i ], logs [i ], sizes [i ], i + 1 );
214
+ t_reftable_write_to_buf (& buf [i ], NULL , 0 , logs [i ], sizes [i ], & opts );
278
215
block_source_from_strbuf (& (* source )[i ], & buf [i ]);
279
216
280
217
err = reftable_reader_new (& (* readers )[i ], & (* source )[i ],
@@ -402,9 +339,7 @@ static void t_default_write_opts(void)
402
339
{
403
340
struct reftable_write_options opts = { 0 };
404
341
struct strbuf buf = STRBUF_INIT ;
405
- struct reftable_writer * w =
406
- reftable_new_writer (& strbuf_add_void , & noop_flush , & buf , & opts );
407
-
342
+ struct reftable_writer * w = t_reftable_strbuf_writer (& buf , & opts );
408
343
struct reftable_ref_record rec = {
409
344
.refname = (char * ) "master" ,
410
345
.update_index = 1 ,
0 commit comments