Add test cases for adding hexadecimal u32 and u64 values API. Signed-off-by: Huisong Li <lihuis...@huawei.com> Acked-by: Morten Brørup <m...@smartsharesystems.com> Acked-by: Chengwen Feng <fengcheng...@huawei.com> --- app/test/test_telemetry_data.c | 164 +++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+)
diff --git a/app/test/test_telemetry_data.c b/app/test/test_telemetry_data.c index 8ab3441cbe..7ce905c503 100644 --- a/app/test/test_telemetry_data.c +++ b/app/test/test_telemetry_data.c @@ -278,6 +278,89 @@ test_array_with_array_string_values(void) return CHECK_OUTPUT("[[\"aaaa\"],[\"bbbb\"]]"); } +static int +test_case_array_with_array_hex_u32_values(void) +{ + struct rte_tel_data *child_data = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data, RTE_TEL_STRING_VAL); + + struct rte_tel_data *child_data2 = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data2, RTE_TEL_STRING_VAL); + + rte_tel_data_start_array(&response_data, RTE_TEL_CONTAINER); + + rte_tel_data_add_array_hex_u32_str(child_data, 0xfffffff0); + rte_tel_data_add_array_hex_u32_str(child_data, 0xfffffff1); + rte_tel_data_add_array_hex_u32_str(child_data2, 0x8ffff2); + + rte_tel_data_add_array_container(&response_data, child_data, 0); + rte_tel_data_add_array_container(&response_data, child_data2, 0); + + return CHECK_OUTPUT("[[\"0xfffffff0\",\"0xfffffff1\"],[\"0x8ffff2\"]]"); +} + +static int +test_case_array_with_array_hex_u64_values(void) +{ + struct rte_tel_data *child_data = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data, RTE_TEL_STRING_VAL); + + rte_tel_data_start_array(&response_data, RTE_TEL_CONTAINER); + rte_tel_data_add_array_hex_u64_str(child_data, 0xfffffffffffffff0); + rte_tel_data_add_array_hex_u64_str(child_data, 0xfffffffffffffff2); + + rte_tel_data_add_array_container(&response_data, child_data, 0); + + return CHECK_OUTPUT("[[\"0xfffffffffffffff0\",\"0xfffffffffffffff2\"]]"); +} + +static int +test_case_dict_with_array_hex_u32_values(void) +{ + struct rte_tel_data *child_data = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data, RTE_TEL_STRING_VAL); + + struct rte_tel_data *child_data2 = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data2, RTE_TEL_STRING_VAL); + + rte_tel_data_start_dict(&response_data); + + rte_tel_data_add_array_hex_u32_str(child_data, 0xfffffff0); + rte_tel_data_add_array_hex_u32_str(child_data, 0xfffffff1); + rte_tel_data_add_array_hex_u32_str(child_data2, 0x8ffffff0); + rte_tel_data_add_array_hex_u32_str(child_data2, 0x8ffffff1); + + rte_tel_data_add_dict_container(&response_data, "dict_0", + child_data, 0); + rte_tel_data_add_dict_container(&response_data, "dict_1", + child_data2, 0); + + return CHECK_OUTPUT("{\"dict_0\":[\"0xfffffff0\",\"0xfffffff1\"],\"dict_1\":[\"0x8ffffff0\",\"0x8ffffff1\"]}"); +} + +static int +test_case_dict_with_array_hex_u64_values(void) +{ + struct rte_tel_data *child_data = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data, RTE_TEL_STRING_VAL); + + struct rte_tel_data *child_data2 = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data2, RTE_TEL_STRING_VAL); + + rte_tel_data_start_dict(&response_data); + + rte_tel_data_add_array_hex_u64_str(child_data, 0xfffffffffffffff0); + rte_tel_data_add_array_hex_u64_str(child_data, 0xfffffffffffffff1); + rte_tel_data_add_array_hex_u64_str(child_data2, 0x8ffffffffffffff0); + + rte_tel_data_add_dict_container(&response_data, "dict_0", + child_data, 0); + rte_tel_data_add_dict_container(&response_data, "dict_1", + child_data2, 0); + + return CHECK_OUTPUT("{\"dict_0\":[\"0xfffffffffffffff0\",\"0xfffffffffffffff1\"],\"dict_1\":[\"0x8ffffffffffffff0\"]}"); +} + static int test_case_array_u32(void) { @@ -300,6 +383,47 @@ test_case_array_u64(void) return CHECK_OUTPUT("[0,1,2,3,4]"); } +static int +test_case_array_hex_u32_str(void) +{ + struct rte_tel_data *child_data = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data, RTE_TEL_STRING_VAL); + + struct rte_tel_data *child_data2 = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data2, RTE_TEL_STRING_VAL); + + rte_tel_data_start_array(&response_data, RTE_TEL_CONTAINER); + + rte_tel_data_add_array_hex_u32_str(child_data, 0xfffffff0); + rte_tel_data_add_array_hex_u32_str(child_data, 0xfffffff1); + rte_tel_data_add_array_hex_u32_str(child_data2, 0x8ffff2); + + rte_tel_data_add_array_container(&response_data, child_data, 0); + rte_tel_data_add_array_container(&response_data, child_data2, 0); + + return CHECK_OUTPUT("[[\"0xfffffff0\",\"0xfffffff1\"],[\"0x8ffff2\"]]"); +} + +static int +test_case_array_hex_u64_str(void) +{ + struct rte_tel_data *child_data = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data, RTE_TEL_STRING_VAL); + + struct rte_tel_data *child_data2 = rte_tel_data_alloc(); + rte_tel_data_start_array(child_data2, RTE_TEL_STRING_VAL); + + rte_tel_data_start_array(&response_data, RTE_TEL_CONTAINER); + + rte_tel_data_add_array_hex_u64_str(child_data, 0xfffffffffffffff0); + rte_tel_data_add_array_hex_u64_str(child_data2, 0x8ffffffffff2); + + rte_tel_data_add_array_container(&response_data, child_data, 0); + rte_tel_data_add_array_container(&response_data, child_data2, 0); + + return CHECK_OUTPUT("[[\"0xfffffffffffffff0\"],[\"0x8ffffffffff2\"]]"); +} + static int test_case_add_dict_u32(void) { @@ -330,6 +454,38 @@ test_case_add_dict_u64(void) return CHECK_OUTPUT("{\"dict_0\":0,\"dict_1\":1,\"dict_2\":2,\"dict_3\":3,\"dict_4\":4}"); } +static int +test_case_add_dict_hex_u32_values(void) +{ + int i = 0; + char name_of_value[8]; + + rte_tel_data_start_dict(&response_data); + + for (i = 0; i < 3; i++) { + sprintf(name_of_value, "dict_%d", i); + rte_tel_data_add_dict_hex_u32_str(&response_data, name_of_value, + 0xfffffff0 + i); + } + return CHECK_OUTPUT("{\"dict_0\":\"0xfffffff0\",\"dict_1\":\"0xfffffff1\",\"dict_2\":\"0xfffffff2\"}"); +} + +static int +test_case_add_dict_hex_u64_values(void) +{ + int i = 0; + char name_of_value[8]; + + rte_tel_data_start_dict(&response_data); + + for (i = 0; i < 2; i++) { + sprintf(name_of_value, "dict_%d", i); + rte_tel_data_add_dict_hex_u64_str(&response_data, name_of_value, + 0xfffffffff0 + i); + } + return CHECK_OUTPUT("{\"dict_0\":\"0xfffffffff0\",\"dict_1\":\"0xfffffffff1\"}"); +} + static int test_dict_with_array_u32_values(void) { @@ -509,16 +665,24 @@ telemetry_data_autotest(void) test_case_add_dict_int, test_case_add_dict_u32, test_case_add_dict_u64, + test_case_array_hex_u32_str, + test_case_array_hex_u64_str, test_case_add_dict_string, + test_case_add_dict_hex_u32_values, + test_case_add_dict_hex_u64_values, test_dict_with_array_int_values, test_dict_with_array_u32_values, test_dict_with_array_u64_values, test_dict_with_array_string_values, + test_case_dict_with_array_hex_u32_values, + test_case_dict_with_array_hex_u64_values, test_dict_with_dict_values, test_array_with_array_int_values, test_array_with_array_u32_values, test_array_with_array_u64_values, test_array_with_array_string_values, + test_case_array_with_array_hex_u32_values, + test_case_array_with_array_hex_u64_values, test_string_char_escaping, test_array_char_escaping, test_dict_char_escaping, -- 2.33.0