@@ -325,7 +325,7 @@ static void test_reftable_stack_transaction_api_performs_auto_compaction(void)
325
325
* we can ensure that we indeed honor this setting and have
326
326
* better control over when exactly auto compaction runs.
327
327
*/
328
- st -> disable_auto_compact = i != n ;
328
+ st -> config . disable_auto_compact = i != n ;
329
329
330
330
err = reftable_stack_new_addition (& add , st );
331
331
EXPECT_ERR (err );
@@ -497,6 +497,7 @@ static void test_reftable_stack_add(void)
497
497
struct reftable_write_options cfg = {
498
498
.exact_log_message = 1 ,
499
499
.default_permissions = 0660 ,
500
+ .disable_auto_compact = 1 ,
500
501
};
501
502
struct reftable_stack * st = NULL ;
502
503
char * dir = get_tmp_dir (__LINE__ );
@@ -508,7 +509,6 @@ static void test_reftable_stack_add(void)
508
509
509
510
err = reftable_new_stack (& st , dir , cfg );
510
511
EXPECT_ERR (err );
511
- st -> disable_auto_compact = 1 ;
512
512
513
513
for (i = 0 ; i < N ; i ++ ) {
514
514
char buf [256 ];
@@ -770,59 +770,13 @@ static void test_reftable_stack_hash_id(void)
770
770
clear_dir (dir );
771
771
}
772
772
773
- static void test_log2 (void )
774
- {
775
- EXPECT (1 == fastlog2 (3 ));
776
- EXPECT (2 == fastlog2 (4 ));
777
- EXPECT (2 == fastlog2 (5 ));
778
- }
779
-
780
- static void test_sizes_to_segments (void )
781
- {
782
- uint64_t sizes [] = { 2 , 3 , 4 , 5 , 7 , 9 };
783
- /* .................0 1 2 3 4 5 */
784
-
785
- size_t seglen = 0 ;
786
- struct segment * segs =
787
- sizes_to_segments (& seglen , sizes , ARRAY_SIZE (sizes ));
788
- EXPECT (segs [2 ].log == 3 );
789
- EXPECT (segs [2 ].start == 5 );
790
- EXPECT (segs [2 ].end == 6 );
791
-
792
- EXPECT (segs [1 ].log == 2 );
793
- EXPECT (segs [1 ].start == 2 );
794
- EXPECT (segs [1 ].end == 5 );
795
- reftable_free (segs );
796
- }
797
-
798
- static void test_sizes_to_segments_empty (void )
799
- {
800
- size_t seglen = 0 ;
801
- struct segment * segs = sizes_to_segments (& seglen , NULL , 0 );
802
- EXPECT (seglen == 0 );
803
- reftable_free (segs );
804
- }
805
-
806
- static void test_sizes_to_segments_all_equal (void )
807
- {
808
- uint64_t sizes [] = { 5 , 5 };
809
- size_t seglen = 0 ;
810
- struct segment * segs =
811
- sizes_to_segments (& seglen , sizes , ARRAY_SIZE (sizes ));
812
- EXPECT (seglen == 1 );
813
- EXPECT (segs [0 ].start == 0 );
814
- EXPECT (segs [0 ].end == 2 );
815
- reftable_free (segs );
816
- }
817
-
818
773
static void test_suggest_compaction_segment (void )
819
774
{
820
- uint64_t sizes [] = { 128 , 64 , 17 , 16 , 9 , 9 , 9 , 16 , 16 };
821
- /* .................0 1 2 3 4 5 6 */
775
+ uint64_t sizes [] = { 512 , 64 , 17 , 16 , 9 , 9 , 9 , 16 , 2 , 16 };
822
776
struct segment min =
823
777
suggest_compaction_segment (sizes , ARRAY_SIZE (sizes ));
824
- EXPECT (min .start == 2 );
825
- EXPECT (min .end == 7 );
778
+ EXPECT (min .start == 1 );
779
+ EXPECT (min .end == 10 );
826
780
}
827
781
828
782
static void test_suggest_compaction_segment_nothing (void )
@@ -933,9 +887,21 @@ static void test_empty_add(void)
933
887
reftable_stack_destroy (st2 );
934
888
}
935
889
890
+ static int fastlog2 (uint64_t sz )
891
+ {
892
+ int l = 0 ;
893
+ if (sz == 0 )
894
+ return 0 ;
895
+ for (; sz ; sz /= 2 )
896
+ l ++ ;
897
+ return l - 1 ;
898
+ }
899
+
936
900
static void test_reftable_stack_auto_compaction (void )
937
901
{
938
- struct reftable_write_options cfg = { 0 };
902
+ struct reftable_write_options cfg = {
903
+ .disable_auto_compact = 1 ,
904
+ };
939
905
struct reftable_stack * st = NULL ;
940
906
char * dir = get_tmp_dir (__LINE__ );
941
907
@@ -945,7 +911,6 @@ static void test_reftable_stack_auto_compaction(void)
945
911
err = reftable_new_stack (& st , dir , cfg );
946
912
EXPECT_ERR (err );
947
913
948
- st -> disable_auto_compact = 1 ; /* call manually below for coverage. */
949
914
for (i = 0 ; i < N ; i ++ ) {
950
915
char name [100 ];
951
916
struct reftable_ref_record ref = {
@@ -994,7 +959,7 @@ static void test_reftable_stack_add_performs_auto_compaction(void)
994
959
* we can ensure that we indeed honor this setting and have
995
960
* better control over when exactly auto compaction runs.
996
961
*/
997
- st -> disable_auto_compact = i != n ;
962
+ st -> config . disable_auto_compact = i != n ;
998
963
999
964
strbuf_reset (& refname );
1000
965
strbuf_addf (& refname , "branch-%04d" , i );
@@ -1121,7 +1086,6 @@ static void test_reftable_stack_compaction_concurrent_clean(void)
1121
1086
int stack_test_main (int argc , const char * argv [])
1122
1087
{
1123
1088
RUN_TEST (test_empty_add );
1124
- RUN_TEST (test_log2 );
1125
1089
RUN_TEST (test_names_equal );
1126
1090
RUN_TEST (test_parse_names );
1127
1091
RUN_TEST (test_read_file );
@@ -1142,9 +1106,6 @@ int stack_test_main(int argc, const char *argv[])
1142
1106
RUN_TEST (test_reftable_stack_update_index_check );
1143
1107
RUN_TEST (test_reftable_stack_uptodate );
1144
1108
RUN_TEST (test_reftable_stack_validate_refname );
1145
- RUN_TEST (test_sizes_to_segments );
1146
- RUN_TEST (test_sizes_to_segments_all_equal );
1147
- RUN_TEST (test_sizes_to_segments_empty );
1148
1109
RUN_TEST (test_suggest_compaction_segment );
1149
1110
RUN_TEST (test_suggest_compaction_segment_nothing );
1150
1111
return 0 ;
0 commit comments