@@ -325,7 +325,7 @@ static void test_reftable_stack_transaction_api_performs_auto_compaction(void)
325325 * we can ensure that we indeed honor this setting and have
326326 * better control over when exactly auto compaction runs.
327327 */
328- st -> disable_auto_compact = i != n ;
328+ st -> config . disable_auto_compact = i != n ;
329329
330330 err = reftable_stack_new_addition (& add , st );
331331 EXPECT_ERR (err );
@@ -497,6 +497,7 @@ static void test_reftable_stack_add(void)
497497 struct reftable_write_options cfg = {
498498 .exact_log_message = 1 ,
499499 .default_permissions = 0660 ,
500+ .disable_auto_compact = 1 ,
500501 };
501502 struct reftable_stack * st = NULL ;
502503 char * dir = get_tmp_dir (__LINE__ );
@@ -508,7 +509,6 @@ static void test_reftable_stack_add(void)
508509
509510 err = reftable_new_stack (& st , dir , cfg );
510511 EXPECT_ERR (err );
511- st -> disable_auto_compact = 1 ;
512512
513513 for (i = 0 ; i < N ; i ++ ) {
514514 char buf [256 ];
@@ -770,59 +770,13 @@ static void test_reftable_stack_hash_id(void)
770770 clear_dir (dir );
771771}
772772
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-
818773static void test_suggest_compaction_segment (void )
819774{
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 };
822776 struct segment min =
823777 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 );
826780}
827781
828782static void test_suggest_compaction_segment_nothing (void )
@@ -933,9 +887,21 @@ static void test_empty_add(void)
933887 reftable_stack_destroy (st2 );
934888}
935889
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+
936900static void test_reftable_stack_auto_compaction (void )
937901{
938- struct reftable_write_options cfg = { 0 };
902+ struct reftable_write_options cfg = {
903+ .disable_auto_compact = 1 ,
904+ };
939905 struct reftable_stack * st = NULL ;
940906 char * dir = get_tmp_dir (__LINE__ );
941907
@@ -945,7 +911,6 @@ static void test_reftable_stack_auto_compaction(void)
945911 err = reftable_new_stack (& st , dir , cfg );
946912 EXPECT_ERR (err );
947913
948- st -> disable_auto_compact = 1 ; /* call manually below for coverage. */
949914 for (i = 0 ; i < N ; i ++ ) {
950915 char name [100 ];
951916 struct reftable_ref_record ref = {
@@ -994,7 +959,7 @@ static void test_reftable_stack_add_performs_auto_compaction(void)
994959 * we can ensure that we indeed honor this setting and have
995960 * better control over when exactly auto compaction runs.
996961 */
997- st -> disable_auto_compact = i != n ;
962+ st -> config . disable_auto_compact = i != n ;
998963
999964 strbuf_reset (& refname );
1000965 strbuf_addf (& refname , "branch-%04d" , i );
@@ -1121,7 +1086,6 @@ static void test_reftable_stack_compaction_concurrent_clean(void)
11211086int stack_test_main (int argc , const char * argv [])
11221087{
11231088 RUN_TEST (test_empty_add );
1124- RUN_TEST (test_log2 );
11251089 RUN_TEST (test_names_equal );
11261090 RUN_TEST (test_parse_names );
11271091 RUN_TEST (test_read_file );
@@ -1142,9 +1106,6 @@ int stack_test_main(int argc, const char *argv[])
11421106 RUN_TEST (test_reftable_stack_update_index_check );
11431107 RUN_TEST (test_reftable_stack_uptodate );
11441108 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 );
11481109 RUN_TEST (test_suggest_compaction_segment );
11491110 RUN_TEST (test_suggest_compaction_segment_nothing );
11501111 return 0 ;
0 commit comments