Skip to content

Commit b0cdb17

Browse files
committed
tests: internal: routing: update routing tests to use router context
Create router context in test setup and update all mask operations. Add router cleanup in test teardown. Signed-off-by: Eduardo Silva <[email protected]>
1 parent 2d3ce50 commit b0cdb17

File tree

2 files changed

+44
-18
lines changed

2 files changed

+44
-18
lines changed

tests/internal/conditional_routing.c

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

975987
TEST_LIST = {

tests/internal/input_chunk_routes.c

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <fluent-bit/flb_output.h>
88
#include <fluent-bit/flb_output_plugin.h>
99
#include <fluent-bit/flb_routes_mask.h>
10+
#include <fluent-bit/flb_router.h>
1011
#include <fluent-bit/flb_env.h>
1112
#include <fluent-bit/flb_hash_table.h>
1213
#include <fluent-bit/flb_kv.h>
@@ -65,8 +66,18 @@ static int init_test_config(struct flb_config *config,
6566
return -1;
6667
}
6768

68-
ret = flb_routes_mask_set_size(64, config);
69+
/* Create router context */
70+
config->router = flb_router_create(config);
71+
if (config->router == NULL) {
72+
flb_env_destroy(config->env);
73+
config->env = NULL;
74+
return -1;
75+
}
76+
77+
ret = flb_routes_mask_set_size(64, config->router);
6978
if (ret != 0) {
79+
flb_router_destroy(config->router);
80+
config->router = NULL;
7081
flb_env_destroy(config->env);
7182
config->env = NULL;
7283
return -1;
@@ -241,7 +252,10 @@ static void cleanup_test_routing_scenario(struct flb_input_chunk *ic,
241252
in->net_config_map = NULL;
242253
}
243254

244-
flb_routes_empty_mask_destroy(config);
255+
if (config->router) {
256+
flb_router_destroy(config->router);
257+
config->router = NULL;
258+
}
245259
if (config->env) {
246260
flb_env_destroy(config->env);
247261
config->env = NULL;
@@ -601,13 +615,13 @@ static void test_chunk_restore_alias_plugin_match_multiple()
601615

602616
TEST_CHECK(flb_routes_mask_get_bit(ic->routes_mask,
603617
stdout_one.id,
604-
&config) == 1);
618+
config.router) == 1);
605619
TEST_CHECK(flb_routes_mask_get_bit(ic->routes_mask,
606620
stdout_two.id,
607-
&config) == 1);
621+
config.router) == 1);
608622
TEST_CHECK(flb_routes_mask_get_bit(ic->routes_mask,
609623
http_out.id,
610-
&config) == 0);
624+
config.router) == 0);
611625

612626
cleanup:
613627
cleanup_test_routing_scenario(ic, &stdout_one, &stdout_two, &http_out,
@@ -762,13 +776,13 @@ static void test_chunk_restore_alias_plugin_null_matches_all()
762776

763777
TEST_CHECK(flb_routes_mask_get_bit(ic->routes_mask,
764778
stdout_one.id,
765-
&config) == 1);
779+
config.router) == 1);
766780
TEST_CHECK(flb_routes_mask_get_bit(ic->routes_mask,
767781
stdout_two.id,
768-
&config) == 1);
782+
config.router) == 1);
769783
TEST_CHECK(flb_routes_mask_get_bit(ic->routes_mask,
770784
http_out.id,
771-
&config) == 1);
785+
config.router) == 1);
772786

773787
cleanup:
774788
cleanup_test_routing_scenario(ic, &stdout_one, &stdout_two, &http_out,

0 commit comments

Comments
 (0)