support limit
This commit is contained in:
parent
bef32ace38
commit
ecf1916d78
33 changed files with 3036 additions and 243 deletions
271
src/lib/testsuite/test_group.c
Normal file
271
src/lib/testsuite/test_group.c
Normal file
|
|
@ -0,0 +1,271 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unity.h>
|
||||
|
||||
#include "group.h"
|
||||
#include "utils.h"
|
||||
|
||||
static void test_all(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_t* all = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
all = get_group(&mgr, "all");
|
||||
|
||||
TEST_ASSERT_TRUE(all != NULL);
|
||||
|
||||
rc = is_in_group(all, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc > 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_empty(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_t* empty = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
empty = get_group(&mgr, "empty");
|
||||
|
||||
TEST_ASSERT_TRUE(empty != NULL);
|
||||
|
||||
rc = is_in_group(empty, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc == 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_all_1(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_config_t gdata = {
|
||||
.name = "g1",
|
||||
.members = { .count = 1, .data = (char*[]) { "all" } }
|
||||
};
|
||||
|
||||
xce_group_t* g = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
g = build_group(&mgr, &gdata, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
rc = is_in_group(g, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc > 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_all_2(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_config_t gdata = {
|
||||
.name = "g1",
|
||||
.members = { .count = 2, .data = (char*[]) { "g2", "all" } }
|
||||
};
|
||||
|
||||
xce_group_t* g = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
g = build_group(&mgr, &gdata, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
rc = is_in_group(g, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc > 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_empty_1(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_config_t gdata = {
|
||||
.name = "g1",
|
||||
.ex_members = { .count = 1, .data = (char*[]) { "all" } }
|
||||
};
|
||||
|
||||
xce_group_t* g = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
g = build_group(&mgr, &gdata, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
rc = is_in_group(g, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc == 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_empty_2(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_config_t gdata = {
|
||||
.name = "g1",
|
||||
.members = { .count = 1, .data = (char*[]) { "empty" } }
|
||||
};
|
||||
|
||||
xce_group_t* g = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
g = build_group(&mgr, &gdata, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
rc = is_in_group(g, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc == 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_include(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_config_t gdata = {
|
||||
.name = "g1",
|
||||
.members = { .count = 1, .data = (char*[]) { "rshen" } }
|
||||
};
|
||||
|
||||
xce_group_t* g = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
g = build_group(&mgr, &gdata, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
rc = is_in_group(g, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc > 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_exclude(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_config_t gdata = {
|
||||
.name = "g1",
|
||||
.members = { .count = 1, .data = (char*[]) { "all" } },
|
||||
.ex_members = { .count = 1, .data = (char*[]) { "rshen" } }
|
||||
};
|
||||
|
||||
xce_group_t* g = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
g = build_group(&mgr, &gdata, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
rc = is_in_group(g, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc == 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_nest(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_config_t gdata1 = {
|
||||
.name = "g1",
|
||||
.members = { .count = 1, .data = (char*[]) { "rshen" } }
|
||||
};
|
||||
xce_group_config_t gdata2 = {
|
||||
.name = "g2",
|
||||
.members = { .count = 1, .data = (char*[]) { "g1" } }
|
||||
};
|
||||
|
||||
xce_group_t* g = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
g = build_group(&mgr, &gdata1, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
g = build_group(&mgr, &gdata2, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
rc = is_in_group(g, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc != 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
static void test_nest2(void)
|
||||
{
|
||||
groupmgr_t mgr;
|
||||
xce_group_config_t gdata1 = {
|
||||
.name = "g1",
|
||||
.members = { .count = 1, .data = (char*[]) { "rshen" } }
|
||||
};
|
||||
xce_group_config_t gdata2 = {
|
||||
.name = "g2",
|
||||
.members = { .count = 1, .data = (char*[]) { "all" } },
|
||||
.ex_members = { .count = 1, .data = (char*[]) { "g1" } }
|
||||
};
|
||||
|
||||
xce_group_t* g = NULL;
|
||||
int rc = 0;
|
||||
|
||||
groupmgr_init(&mgr, 16, 16);
|
||||
|
||||
g = build_group(&mgr, &gdata1, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
g = build_group(&mgr, &gdata2, NULL);
|
||||
|
||||
TEST_ASSERT_TRUE(g != NULL);
|
||||
|
||||
rc = is_in_group(g, "rshen");
|
||||
|
||||
TEST_ASSERT_TRUE(rc == 0);
|
||||
|
||||
groupmgr_fini(&mgr);
|
||||
}
|
||||
|
||||
void test_group(void)
|
||||
{
|
||||
printf("\n>> group test\n\n");
|
||||
|
||||
RUN_TEST(test_all);
|
||||
RUN_TEST(test_empty);
|
||||
RUN_TEST(test_all_1);
|
||||
RUN_TEST(test_all_2);
|
||||
RUN_TEST(test_empty_1);
|
||||
RUN_TEST(test_empty_2);
|
||||
RUN_TEST(test_include);
|
||||
RUN_TEST(test_exclude);
|
||||
RUN_TEST(test_nest);
|
||||
RUN_TEST(test_nest2);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue