summaryrefslogtreecommitdiff
path: root/shaping/test/gtest_shaper.cpp
diff options
context:
space:
mode:
author刘畅 <[email protected]>2024-07-31 09:41:21 +0000
committer刘畅 <[email protected]>2024-07-31 09:41:21 +0000
commit5b19aac02fb7b453cc0e6ae30eef1465352d92aa (patch)
tree1faf56cf86595d081341f734326ad5256283591b /shaping/test/gtest_shaper.cpp
parent2c2e3ac4c8ea3d04ca942330d7501bb28c48f5b9 (diff)
parent4030c6fb6887356e38b20cb3d74358463dd29e37 (diff)
Merge branch 'add_test_with_real_swarmkv' into 'rel'v3.1.39
Add test with real swarmkv See merge request tango/shaping-engine!101
Diffstat (limited to 'shaping/test/gtest_shaper.cpp')
-rw-r--r--shaping/test/gtest_shaper.cpp49
1 files changed, 28 insertions, 21 deletions
diff --git a/shaping/test/gtest_shaper.cpp b/shaping/test/gtest_shaper.cpp
index cde8aef..024717f 100644
--- a/shaping/test/gtest_shaper.cpp
+++ b/shaping/test/gtest_shaper.cpp
@@ -1,7 +1,6 @@
#include <gtest/gtest.h>
#include <cjson/cJSON.h>
#include <sys/queue.h>
-#include <fieldstat/fieldstat_easy.h>
#include "log.h"
#include "shaper.h"
@@ -22,7 +21,6 @@ static struct stub_packet* packet_new(unsigned long long income_time, unsigned i
struct stub_packet *packet;
packet = (struct stub_packet*)calloc(1, sizeof(struct stub_packet));
- packet->income_time = income_time;
packet->length = length;
packet->direction = dir;
@@ -107,8 +105,6 @@ static void shaping_stat_judge(char *file_line, int json_array_idx, int rule_id,
{
cJSON *json = NULL;
cJSON *json_array_element = NULL;
- cJSON *fields_json = NULL;
- cJSON *tags_json = NULL;
cJSON *tmp_obj = NULL;
char attr_name[32] = {0};
@@ -125,45 +121,41 @@ static void shaping_stat_judge(char *file_line, int json_array_idx, int rule_id,
EXPECT_STREQ("shaping_stat", tmp_obj->valuestring);
/******************parse tags***********************************/
- tags_json = cJSON_GetObjectItem(json_array_element, "tags");
- ASSERT_TRUE(tags_json != NULL);
- tmp_obj = cJSON_GetObjectItem(tags_json, "vsys_id");
+ tmp_obj = cJSON_GetObjectItem(json_array_element, "vsys_id");
ASSERT_TRUE(tmp_obj != NULL);
EXPECT_EQ(tmp_obj->valueint, STUB_TEST_VSYS_ID);
- tmp_obj = cJSON_GetObjectItem(tags_json, "rule_id");
+ tmp_obj = cJSON_GetObjectItem(json_array_element, "rule_id");
ASSERT_TRUE(tmp_obj != NULL);
EXPECT_EQ(rule_id, tmp_obj->valueint);
- tmp_obj = cJSON_GetObjectItem(tags_json, "profile_id");
+ tmp_obj = cJSON_GetObjectItem(json_array_element, "profile_id");
ASSERT_TRUE(tmp_obj != NULL);
EXPECT_EQ(profile_id, tmp_obj->valueint);
- tmp_obj = cJSON_GetObjectItem(tags_json, "priority");
+ tmp_obj = cJSON_GetObjectItem(json_array_element, "priority");
ASSERT_TRUE(tmp_obj != NULL);
EXPECT_EQ(priority, tmp_obj->valueint);
- tmp_obj = cJSON_GetObjectItem(tags_json, "profile_type");
+ tmp_obj = cJSON_GetObjectItem(json_array_element, "profile_type");
ASSERT_TRUE(tmp_obj != NULL);
EXPECT_STREQ(tmp_obj->valuestring, profile_type);
/******************parse fields**********************************/
- fields_json = cJSON_GetObjectItem(json_array_element, "fields");
- ASSERT_TRUE(fields_json != NULL);
snprintf(attr_name, sizeof(attr_name), "%s_pkts", direction == SHAPING_DIR_OUT ? "out" : "in");
- tmp_obj = cJSON_GetObjectItem(fields_json, attr_name);
+ tmp_obj = cJSON_GetObjectItem(json_array_element, attr_name);
ASSERT_TRUE(tmp_obj != NULL);
EXPECT_EQ(tx_pkts, tmp_obj->valueint);
snprintf(attr_name, sizeof(attr_name), "%s_bytes", direction == SHAPING_DIR_OUT ? "out" : "in");
- tmp_obj = cJSON_GetObjectItem(fields_json, attr_name);
+ tmp_obj = cJSON_GetObjectItem(json_array_element, attr_name);
ASSERT_TRUE(tmp_obj != NULL);
EXPECT_EQ(tx_bytes, tmp_obj->valueint);
snprintf(attr_name, sizeof(attr_name), "%s_drop_pkts", direction == SHAPING_DIR_OUT ? "out" : "in");
- tmp_obj = cJSON_GetObjectItem(fields_json, attr_name);
+ tmp_obj = cJSON_GetObjectItem(json_array_element, attr_name);
ASSERT_TRUE(tmp_obj != NULL);
EXPECT_EQ(drop_pkts, tmp_obj->valueint);
@@ -176,7 +168,7 @@ static void shaping_stat_judge(char *file_line, int json_array_idx, int rule_id,
}*/
snprintf(attr_name, sizeof(attr_name), "%s_queue_len", direction == SHAPING_DIR_OUT ? "out" : "in");
- tmp_obj = cJSON_GetObjectItem(fields_json, attr_name);
+ tmp_obj = cJSON_GetObjectItem(json_array_element, attr_name);
if (tmp_obj != NULL) {
EXPECT_EQ(queue_len, tmp_obj->valueint);
}
@@ -201,12 +193,9 @@ static int shaping_global_stat_field_get(cJSON *metrics, const char *field_name)
static void shaping_global_stat_judge(char *file_line, int tx_pkts, int tx_bytes, int drop_pkts, int drop_bytes, int queueing_pkts, int queueing_bytes)
{
cJSON *metrics = NULL;
- cJSON *json_array_element = NULL;
cJSON *json = cJSON_Parse(file_line);
- json_array_element = cJSON_GetArrayItem(json, 0);
-
- metrics = cJSON_GetObjectItem(json_array_element, "fields");
+ metrics = cJSON_GetArrayItem(json, 0);
EXPECT_EQ(tx_pkts, shaping_global_stat_field_get(metrics, "all_tx_pkts"));
EXPECT_EQ(tx_bytes, shaping_global_stat_field_get(metrics, "all_tx_bytes"));
@@ -240,6 +229,7 @@ TEST(single_session, udp_tx_in_order)
TAILQ_INIT(&expec_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -316,6 +306,7 @@ TEST(bidirectional, udp_tx_in_order)
TAILQ_INIT(&expec_tx_queue_in);
TAILQ_INIT(&expec_tx_queue_out);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -378,6 +369,7 @@ TEST(max_min_host_fairness_profile, udp_tx_in_order)
TAILQ_INIT(&expec_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -455,6 +447,7 @@ TEST(single_session, tcp_tx_in_order)
TAILQ_INIT(&expec_tx_queue);
TAILQ_INIT(&expec_pure_ctl_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -534,6 +527,7 @@ TEST(single_session, udp_diff_direction)
TAILQ_INIT(&expec_tx_queue_in);
TAILQ_INIT(&expec_tx_queue_out);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -605,6 +599,7 @@ TEST(single_session, udp_multi_rules)
TAILQ_INIT(&expec_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -680,6 +675,7 @@ TEST(single_session, udp_borrow)
TAILQ_INIT(&expec_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -749,6 +745,7 @@ TEST(single_session, udp_borrow_same_priority_9)
TAILQ_INIT(&expec_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -821,6 +818,7 @@ TEST(single_session_async, udp_close_before_async_exec)
TAILQ_INIT(&expec_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -882,6 +880,7 @@ TEST(two_session_diff_priority_same_profile, udp_borrow_in_order)
TAILQ_INIT(&expec_tx_queue1);
TAILQ_INIT(&expec_tx_queue2);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
@@ -994,6 +993,7 @@ TEST(two_session_diff_priority_same_profile, two_thread_udp_tx_in_order)
TAILQ_INIT(&expec_tx_queue1);
TAILQ_INIT(&expec_tx_queue2);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
@@ -1079,6 +1079,7 @@ TEST(two_session_diff_priority_same_profile, profile_timer_test)
TAILQ_INIT(&expec_tx_queue1);
TAILQ_INIT(&expec_tx_queue2);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
@@ -1180,6 +1181,7 @@ TEST(two_session_diff_priority_same_profile, one_direction_dont_block_another)
TAILQ_INIT(&expec_tx_queue1);
TAILQ_INIT(&expec_tx_queue2);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
@@ -1271,6 +1273,7 @@ TEST(two_sessions, priority_non_block)
TAILQ_INIT(&expec_tx_queue1);
TAILQ_INIT(&expec_tx_queue2);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
@@ -1344,6 +1347,7 @@ TEST(two_sessions, borrow_when_primary_profile_priority_blocked)
TAILQ_INIT(&expec_tx_queue1);
TAILQ_INIT(&expec_tx_queue2);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
@@ -1418,6 +1422,7 @@ TEST(two_sessions, primary_profile_priority_blocked_by_borrow_profile)
TAILQ_INIT(&expec_tx_queue1);
TAILQ_INIT(&expec_tx_queue2);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
@@ -1483,6 +1488,7 @@ TEST(statistics, udp_drop_pkt)
TAILQ_INIT(&expec_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);
sf = shaping_flow_new(&ctx->thread_ctx[0]);
@@ -1553,6 +1559,7 @@ TEST(statistics, udp_queueing_pkt)
TAILQ_INIT(&expec_tx_queue);
stub_init();
+ dummy_swarmkv_init();
ctx = shaping_engine_init();
ASSERT_TRUE(ctx != NULL);