#include #include "utils.h" TEST(UUID_ARRAY, FULL) { uuid_t uuid; uuid_parse("00000000-0000-0000-0000-000000000001", uuid); struct uuid_array array; uuid_array_init(&array); EXPECT_TRUE(uuid_array_is_full(&array) == 0); 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); } } EXPECT_TRUE(uuid_array_is_full(&array) == 1); } TEST(UUID_ARRAY, COUNT) { uuid_t uuid; uuid_parse("00000000-0000-0000-0000-000000000001", uuid); 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) { const char *dev_name = "lo"; char ip_buff[16] = {0}; char mac_buff[32] = {0}; EXPECT_TRUE(get_ip_by_device_name(dev_name, ip_buff) == 0); EXPECT_TRUE(get_mac_by_device_name(dev_name, mac_buff) == 0); printf("Dev : %s, IP : %s\n", dev_name, ip_buff); printf("Dev : %s, MAC : %s\n", dev_name, mac_buff); EXPECT_STREQ(ip_buff, "127.0.0.1"); EXPECT_STREQ(mac_buff, "00:00:00:00:00:00"); } int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }