TSG-22348 feature: adapt maat support UUID

This commit is contained in:
luwenpeng
2024-09-23 16:50:09 +08:00
parent 7ef8e44bca
commit 5799de5299
60 changed files with 2504 additions and 1043 deletions

View File

@@ -2,38 +2,117 @@
#include "utils.h"
TEST(UTILS, FIXED_NUM_ARRAY)
TEST(UUID_ARRAY, FULL)
{
struct mutable_array array;
mutable_array_init(&array);
uuid_t uuid;
uuid_parse("00000000-0000-0000-0000-000000000001", uuid);
mutable_array_add_elem(&array, 1);
mutable_array_add_elem(&array, 2);
mutable_array_add_elem(&array, 3);
mutable_array_add_elem(&array, 1);
mutable_array_add_elem(&array, 2);
struct uuid_array array;
uuid_array_init(&array);
EXPECT_TRUE(uuid_array_is_full(&array) == 0);
EXPECT_TRUE(mutable_array_count_elem(&array) == 5);
EXPECT_TRUE(mutable_array_index_elem(&array, 0) == 1);
EXPECT_TRUE(mutable_array_index_elem(&array, 1) == 2);
EXPECT_TRUE(mutable_array_index_elem(&array, 2) == 3);
EXPECT_TRUE(mutable_array_index_elem(&array, 3) == 1);
EXPECT_TRUE(mutable_array_index_elem(&array, 4) == 2);
for (int i = 0; i < MAX_RULE_NUM; i++)
{
uuid_array_append(&array, uuid);
if (i == MAX_RULE_NUM - 1)
{
EXPECT_TRUE(uuid_array_is_full(&array) == 1);
}
else
{
EXPECT_TRUE(uuid_array_is_full(&array) == 0);
}
}
mutable_array_del_elem(&array, 3); // 1,2,1,2
EXPECT_TRUE(mutable_array_count_elem(&array) == 4);
EXPECT_TRUE(mutable_array_index_elem(&array, 0) == 1);
EXPECT_TRUE(mutable_array_index_elem(&array, 1) == 2);
EXPECT_TRUE(mutable_array_index_elem(&array, 2) == 1);
EXPECT_TRUE(mutable_array_index_elem(&array, 3) == 2);
EXPECT_TRUE(uuid_array_is_full(&array) == 1);
}
mutable_array_del_elem(&array, 2); // 1,1
EXPECT_TRUE(mutable_array_count_elem(&array) == 2);
EXPECT_TRUE(mutable_array_index_elem(&array, 0) == 1);
EXPECT_TRUE(mutable_array_index_elem(&array, 1) == 1);
TEST(UUID_ARRAY, COUNT)
{
uuid_t uuid;
uuid_parse("00000000-0000-0000-0000-000000000001", uuid);
mutable_array_del_elem(&array, 1);
EXPECT_TRUE(mutable_array_count_elem(&array) == 0);
struct uuid_array array;
uuid_array_init(&array);
EXPECT_TRUE(uuid_array_get_count(&array) == 0);
for (int i = 0; i < MAX_RULE_NUM; i++)
{
uuid_array_append(&array, uuid);
EXPECT_TRUE(uuid_array_get_count(&array) == i + 1);
}
EXPECT_TRUE(uuid_array_get_count(&array) == MAX_RULE_NUM);
}
TEST(UUID_ARRAY, CONTAINS)
{
uuid_t uuid1;
uuid_t uuid2;
uuid_t uuid3;
uuid_t uuid4;
uuid_parse("00000000-0000-0000-0000-000000000001", uuid1);
uuid_parse("00000000-0000-0000-0000-000000000002", uuid2);
uuid_parse("00000000-0000-0000-0000-000000000003", uuid3);
uuid_parse("00000000-0000-0000-0000-000000000004", uuid4);
struct uuid_array array;
uuid_array_init(&array);
EXPECT_TRUE(uuid_array_contains(&array, uuid1) == 0);
EXPECT_TRUE(uuid_array_contains(&array, uuid2) == 0);
EXPECT_TRUE(uuid_array_contains(&array, uuid3) == 0);
EXPECT_TRUE(uuid_array_contains(&array, uuid4) == 0);
uuid_array_append(&array, uuid1);
uuid_array_append(&array, uuid2);
uuid_array_append(&array, uuid3);
EXPECT_TRUE(uuid_array_contains(&array, uuid1) == 1);
EXPECT_TRUE(uuid_array_contains(&array, uuid2) == 1);
EXPECT_TRUE(uuid_array_contains(&array, uuid3) == 1);
EXPECT_TRUE(uuid_array_contains(&array, uuid4) == 0);
}
TEST(UUID_ARRAY, REMOVE)
{
uuid_t uuid1;
uuid_t uuid2;
uuid_t uuid3;
uuid_parse("00000000-0000-0000-0000-000000000001", uuid1);
uuid_parse("00000000-0000-0000-0000-000000000002", uuid2);
uuid_parse("00000000-0000-0000-0000-000000000003", uuid3);
struct uuid_array array;
uuid_array_init(&array);
uuid_array_append(&array, uuid1);
uuid_array_append(&array, uuid2);
uuid_array_append(&array, uuid3);
uuid_array_append(&array, uuid1);
uuid_array_append(&array, uuid2);
EXPECT_TRUE(uuid_array_get_count(&array) == 5);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 0), uuid1) == 0);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 1), uuid2) == 0);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 2), uuid3) == 0);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 3), uuid1) == 0);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 4), uuid2) == 0);
uuid_array_remove(&array, uuid3); // 1,2,1,2
EXPECT_TRUE(uuid_array_get_count(&array) == 4);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 0), uuid1) == 0);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 1), uuid2) == 0);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 2), uuid1) == 0);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 3), uuid2) == 0);
uuid_array_remove(&array, uuid2); // 1,1
EXPECT_TRUE(uuid_array_get_count(&array) == 2);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 0), uuid1) == 0);
EXPECT_TRUE(uuid_compare(*uuid_array_get_at(&array, 1), uuid1) == 0);
uuid_array_remove(&array, uuid1);
EXPECT_TRUE(uuid_array_get_count(&array) == 0);
}
TEST(UTILS, DEVICE)