@@ -315,7 +315,7 @@ void test_conditional_routing_per_record()
315315
316316 /* Cleanup */
317317 flb_router_exit (& config );
318- cleanup_conditional_routing_instances (& input , & output1 , & output2 , & output3 ,
318+ cleanup_conditional_routing_instances (& config , & input , & output1 , & output2 , & output3 ,
319319 & input_routes , & route1 , & route2 , & route3 ,
320320 & route_output1 , & route_output2 , & route_output3 );
321321}
@@ -374,7 +374,7 @@ void test_conditional_routing_default_route()
374374
375375 /* Cleanup */
376376 flb_router_exit (& config );
377- cleanup_conditional_routing_instances (& input , & output1 , & output2 , & output3 ,
377+ cleanup_conditional_routing_instances (& config , & input , & output1 , & output2 , & output3 ,
378378 & input_routes , & route1 , & route2 , & route3 ,
379379 & route_output1 , & route_output2 , & route_output3 );
380380}
@@ -414,17 +414,17 @@ void test_conditional_routing_route_mask()
414414
415415 if (strcmp (record -> level , "info" ) == 0 ) {
416416 /* Create a test chunk */
417- chunk = flb_input_chunk_create (& input , "test_tag" , 8 , NULL , 0 );
417+ chunk = flb_input_chunk_create (& input , FLB_INPUT_LOGS , "test_tag" , 8 );
418418 TEST_CHECK (chunk != NULL );
419419 if (chunk ) {
420420 /* Set route mask for info output only */
421421 routes_mask = chunk -> routes_mask ;
422- flb_routes_mask_set_bit (routes_mask , output1 .id , & config );
422+ flb_routes_mask_set_bit (routes_mask , output1 .id , config . router );
423423
424424 /* Verify route mask is set correctly */
425- TEST_CHECK (flb_routes_mask_get_bit (routes_mask , output1 .id , & config ) == 1 );
426- TEST_CHECK (flb_routes_mask_get_bit (routes_mask , output2 .id , & config ) == 0 );
427- TEST_CHECK (flb_routes_mask_get_bit (routes_mask , output3 .id , & config ) == 0 );
425+ TEST_CHECK (flb_routes_mask_get_bit (routes_mask , output1 .id , config . router ) == 1 );
426+ TEST_CHECK (flb_routes_mask_get_bit (routes_mask , output2 .id , config . router ) == 0 );
427+ TEST_CHECK (flb_routes_mask_get_bit (routes_mask , output3 .id , config . router ) == 0 );
428428
429429 flb_input_chunk_destroy (chunk );
430430 }
@@ -433,7 +433,7 @@ void test_conditional_routing_route_mask()
433433
434434 /* Cleanup */
435435 flb_router_exit (& config );
436- cleanup_conditional_routing_instances (& input , & output1 , & output2 , & output3 ,
436+ cleanup_conditional_routing_instances (& config , & input , & output1 , & output2 , & output3 ,
437437 & input_routes , & route1 , & route2 , & route3 ,
438438 & route_output1 , & route_output2 , & route_output3 );
439439}
@@ -503,7 +503,7 @@ void test_conditional_routing_no_duplicates()
503503
504504 /* Cleanup */
505505 flb_router_exit (& config );
506- cleanup_conditional_routing_instances (& input , & output1 , & output2 , & output3 ,
506+ cleanup_conditional_routing_instances (& config , & input , & output1 , & output2 , & output3 ,
507507 & input_routes , & route1 , & route2 , & route3 ,
508508 & route_output1 , & route_output2 , & route_output3 );
509509}
@@ -814,6 +814,12 @@ static void setup_conditional_routing_instances(struct flb_config *config,
814814 mk_list_init (& config -> outputs );
815815 cfl_list_init (& config -> input_routes );
816816
817+ config -> router = flb_router_create (config );
818+ TEST_CHECK (config -> router != NULL );
819+ if (config -> router ) {
820+ flb_routes_mask_set_size (1 , config -> router );
821+ }
822+
817823 memset (input , 0 , sizeof (struct flb_input_instance ));
818824 mk_list_init (& input -> _head );
819825 cfl_list_init (& input -> routes_direct );
@@ -947,7 +953,8 @@ static int test_record_routing(struct flb_input_instance *input,
947953 return found ;
948954}
949955
950- static void cleanup_conditional_routing_instances (struct flb_input_instance * input ,
956+ static void cleanup_conditional_routing_instances (struct flb_config * config ,
957+ struct flb_input_instance * input ,
951958 struct flb_output_instance * output1 ,
952959 struct flb_output_instance * output2 ,
953960 struct flb_output_instance * output3 ,
@@ -970,6 +977,11 @@ static void cleanup_conditional_routing_instances(struct flb_input_instance *inp
970977 flb_sds_destroy (route_output1 -> name );
971978 flb_sds_destroy (route_output2 -> name );
972979 flb_sds_destroy (route_output3 -> name );
980+
981+ if (config && config -> router ) {
982+ flb_router_destroy (config -> router );
983+ config -> router = NULL ;
984+ }
973985}
974986
975987TEST_LIST = {
0 commit comments