@@ -6,20 +6,25 @@ license that can be found in the LICENSE file or at
6
6
https://developers.google.com/open-source/licenses/bsd
7
7
*/
8
8
9
- #include "merged.h"
10
-
11
- #include "system.h"
9
+ #include "test-lib.h"
10
+ #include "reftable/blocksource.h"
11
+ #include "reftable/constants.h"
12
+ #include "reftable/merged.h"
13
+ #include "reftable/reader.h"
14
+ #include "reftable/reftable-generic.h"
15
+ #include "reftable/reftable-merged.h"
16
+ #include "reftable/reftable-writer.h"
17
+
18
+ static ssize_t strbuf_add_void (void * b , const void * data , size_t sz )
19
+ {
20
+ strbuf_add (b , data , sz );
21
+ return sz ;
22
+ }
12
23
13
- #include "basics.h"
14
- #include "blocksource.h"
15
- #include "constants.h"
16
- #include "reader.h"
17
- #include "record.h"
18
- #include "test_framework.h"
19
- #include "reftable-merged.h"
20
- #include "reftable-tests.h"
21
- #include "reftable-generic.h"
22
- #include "reftable-writer.h"
24
+ static int noop_flush (void * arg )
25
+ {
26
+ return 0 ;
27
+ }
23
28
24
29
static void write_test_table (struct strbuf * buf ,
25
30
struct reftable_ref_record refs [], int n )
@@ -49,12 +54,12 @@ static void write_test_table(struct strbuf *buf,
49
54
for (i = 0 ; i < n ; i ++ ) {
50
55
uint64_t before = refs [i ].update_index ;
51
56
int n = reftable_writer_add_ref (w , & refs [i ]);
52
- EXPECT ( n == 0 );
53
- EXPECT (before == refs [i ].update_index );
57
+ check_int ( n , = = , 0 );
58
+ check_int (before , = = , refs [i ].update_index );
54
59
}
55
60
56
61
err = reftable_writer_close (w );
57
- EXPECT_ERR ( err );
62
+ check (! err );
58
63
59
64
reftable_writer_free (w );
60
65
}
@@ -76,11 +81,11 @@ static void write_test_log_table(struct strbuf *buf,
76
81
77
82
for (i = 0 ; i < n ; i ++ ) {
78
83
int err = reftable_writer_add_log (w , & logs [i ]);
79
- EXPECT_ERR ( err );
84
+ check (! err );
80
85
}
81
86
82
87
err = reftable_writer_close (w );
83
- EXPECT_ERR ( err );
88
+ check (! err );
84
89
85
90
reftable_writer_free (w );
86
91
}
@@ -105,12 +110,12 @@ merged_table_from_records(struct reftable_ref_record **refs,
105
110
106
111
err = reftable_new_reader (& (* readers )[i ], & (* source )[i ],
107
112
"name" );
108
- EXPECT_ERR ( err );
113
+ check (! err );
109
114
reftable_table_from_reader (& tabs [i ], (* readers )[i ]);
110
115
}
111
116
112
117
err = reftable_new_merged_table (& mt , tabs , n , GIT_SHA1_FORMAT_ID );
113
- EXPECT_ERR ( err );
118
+ check (! err );
114
119
return mt ;
115
120
}
116
121
@@ -122,7 +127,7 @@ static void readers_destroy(struct reftable_reader **readers, size_t n)
122
127
reftable_free (readers );
123
128
}
124
129
125
- static void test_merged_between (void )
130
+ static void t_merged_single_record (void )
126
131
{
127
132
struct reftable_ref_record r1 [] = { {
128
133
.refname = (char * ) "b" ,
@@ -150,11 +155,11 @@ static void test_merged_between(void)
150
155
151
156
merged_table_init_iter (mt , & it , BLOCK_TYPE_REF );
152
157
err = reftable_iterator_seek_ref (& it , "a" );
153
- EXPECT_ERR ( err );
158
+ check (! err );
154
159
155
160
err = reftable_iterator_next_ref (& it , & ref );
156
- EXPECT_ERR ( err );
157
- EXPECT (ref .update_index == 2 );
161
+ check (! err );
162
+ check_int (ref .update_index , = = , 2 );
158
163
reftable_ref_record_release (& ref );
159
164
reftable_iterator_destroy (& it );
160
165
readers_destroy (readers , 2 );
@@ -165,7 +170,7 @@ static void test_merged_between(void)
165
170
reftable_free (bs );
166
171
}
167
172
168
- static void test_merged (void )
173
+ static void t_merged_refs (void )
169
174
{
170
175
struct reftable_ref_record r1 [] = {
171
176
{
@@ -230,9 +235,9 @@ static void test_merged(void)
230
235
231
236
merged_table_init_iter (mt , & it , BLOCK_TYPE_REF );
232
237
err = reftable_iterator_seek_ref (& it , "a" );
233
- EXPECT_ERR ( err );
234
- EXPECT (reftable_merged_table_hash_id (mt ) == GIT_SHA1_FORMAT_ID );
235
- EXPECT (reftable_merged_table_min_update_index (mt ) == 1 );
238
+ check (! err );
239
+ check_int (reftable_merged_table_hash_id (mt ), = = , GIT_SHA1_FORMAT_ID );
240
+ check_int (reftable_merged_table_min_update_index (mt ), = = , 1 );
236
241
237
242
while (len < 100 ) { /* cap loops/recursion. */
238
243
struct reftable_ref_record ref = { NULL };
@@ -245,9 +250,9 @@ static void test_merged(void)
245
250
}
246
251
reftable_iterator_destroy (& it );
247
252
248
- EXPECT (ARRAY_SIZE (want ) == len );
253
+ check_int (ARRAY_SIZE (want ), = = , len );
249
254
for (i = 0 ; i < len ; i ++ ) {
250
- EXPECT (reftable_ref_record_equal (want [i ], & out [i ],
255
+ check (reftable_ref_record_equal (want [i ], & out [i ],
251
256
GIT_SHA1_RAWSZ ));
252
257
}
253
258
for (i = 0 ; i < len ; i ++ ) {
@@ -283,16 +288,16 @@ merged_table_from_log_records(struct reftable_log_record **logs,
283
288
284
289
err = reftable_new_reader (& (* readers )[i ], & (* source )[i ],
285
290
"name" );
286
- EXPECT_ERR ( err );
291
+ check (! err );
287
292
reftable_table_from_reader (& tabs [i ], (* readers )[i ]);
288
293
}
289
294
290
295
err = reftable_new_merged_table (& mt , tabs , n , GIT_SHA1_FORMAT_ID );
291
- EXPECT_ERR ( err );
296
+ check (! err );
292
297
return mt ;
293
298
}
294
299
295
- static void test_merged_logs (void )
300
+ static void t_merged_logs (void )
296
301
{
297
302
struct reftable_log_record r1 [] = {
298
303
{
@@ -362,9 +367,9 @@ static void test_merged_logs(void)
362
367
363
368
merged_table_init_iter (mt , & it , BLOCK_TYPE_LOG );
364
369
err = reftable_iterator_seek_log (& it , "a" );
365
- EXPECT_ERR ( err );
366
- EXPECT (reftable_merged_table_hash_id (mt ) == GIT_SHA1_FORMAT_ID );
367
- EXPECT (reftable_merged_table_min_update_index (mt ) == 1 );
370
+ check (! err );
371
+ check_int (reftable_merged_table_hash_id (mt ), = = , GIT_SHA1_FORMAT_ID );
372
+ check_int (reftable_merged_table_min_update_index (mt ), = = , 1 );
368
373
369
374
while (len < 100 ) { /* cap loops/recursion. */
370
375
struct reftable_log_record log = { NULL };
@@ -377,19 +382,19 @@ static void test_merged_logs(void)
377
382
}
378
383
reftable_iterator_destroy (& it );
379
384
380
- EXPECT (ARRAY_SIZE (want ) == len );
385
+ check_int (ARRAY_SIZE (want ), = = , len );
381
386
for (i = 0 ; i < len ; i ++ ) {
382
- EXPECT (reftable_log_record_equal (want [i ], & out [i ],
387
+ check (reftable_log_record_equal (want [i ], & out [i ],
383
388
GIT_SHA1_RAWSZ ));
384
389
}
385
390
386
391
merged_table_init_iter (mt , & it , BLOCK_TYPE_LOG );
387
392
err = reftable_iterator_seek_log_at (& it , "a" , 2 );
388
- EXPECT_ERR ( err );
393
+ check (! err );
389
394
reftable_log_record_release (& out [0 ]);
390
395
err = reftable_iterator_next_log (& it , & out [0 ]);
391
- EXPECT_ERR ( err );
392
- EXPECT (reftable_log_record_equal (& out [0 ], & r3 [0 ], GIT_SHA1_RAWSZ ));
396
+ check (! err );
397
+ check (reftable_log_record_equal (& out [0 ], & r3 [0 ], GIT_SHA1_RAWSZ ));
393
398
reftable_iterator_destroy (& it );
394
399
395
400
for (i = 0 ; i < len ; i ++ ) {
@@ -405,7 +410,7 @@ static void test_merged_logs(void)
405
410
reftable_free (bs );
406
411
}
407
412
408
- static void test_default_write_opts (void )
413
+ static void t_default_write_opts (void )
409
414
{
410
415
struct reftable_write_options opts = { 0 };
411
416
struct strbuf buf = STRBUF_INIT ;
@@ -426,36 +431,36 @@ static void test_default_write_opts(void)
426
431
reftable_writer_set_limits (w , 1 , 1 );
427
432
428
433
err = reftable_writer_add_ref (w , & rec );
429
- EXPECT_ERR ( err );
434
+ check (! err );
430
435
431
436
err = reftable_writer_close (w );
432
- EXPECT_ERR ( err );
437
+ check (! err );
433
438
reftable_writer_free (w );
434
439
435
440
block_source_from_strbuf (& source , & buf );
436
441
437
442
err = reftable_new_reader (& rd , & source , "filename" );
438
- EXPECT_ERR ( err );
443
+ check (! err );
439
444
440
445
hash_id = reftable_reader_hash_id (rd );
441
- EXPECT (hash_id == GIT_SHA1_FORMAT_ID );
446
+ check_int (hash_id , = = , GIT_SHA1_FORMAT_ID );
442
447
443
448
reftable_table_from_reader (& tab [0 ], rd );
444
449
err = reftable_new_merged_table (& merged , tab , 1 , GIT_SHA1_FORMAT_ID );
445
- EXPECT_ERR ( err );
450
+ check (! err );
446
451
447
452
reftable_reader_free (rd );
448
453
reftable_merged_table_free (merged );
449
454
strbuf_release (& buf );
450
455
}
451
456
452
- /* XXX test refs_for(oid) */
453
457
454
- int merged_test_main (int argc , const char * argv [])
458
+ int cmd_main (int argc , const char * argv [])
455
459
{
456
- RUN_TEST (test_merged_logs );
457
- RUN_TEST (test_merged_between );
458
- RUN_TEST (test_merged );
459
- RUN_TEST (test_default_write_opts );
460
- return 0 ;
460
+ TEST (t_default_write_opts (), "merged table with default write opts" );
461
+ TEST (t_merged_logs (), "merged table with multiple log updates for same ref" );
462
+ TEST (t_merged_refs (), "merged table with multiple updates to same ref" );
463
+ TEST (t_merged_single_record (), "ref ocurring in only one record can be fetched" );
464
+
465
+ return test_done ();
461
466
}
0 commit comments