📄 testdb.c
字号:
TEST(0 != test_cunit_get_n_memevents(pSuite4));
TEST(test_cunit_get_n_allocations(pSuite4) != test_cunit_get_n_deallocations(pSuite4));
cleanup_suite(pSuite4);
CU_FREE(pSuite4);
TEST(test_cunit_get_n_allocations(pSuite4) == test_cunit_get_n_deallocations(pSuite4));
}
/*--------------------------------------------------*/
static void test_cleanup_suite(void)
{
/* covered by test_create_suite() and test_create_test() */
}
/*--------------------------------------------------*/
static void test_insert_suite(void)
{
CU_pSuite pSuite1 = NULL;
CU_pSuite pSuite2 = NULL;
CU_pSuite pSuite3 = NULL;
CU_pSuite pSuite4 = NULL;
CU_pTestRegistry pReg = CU_create_new_registry();
TEST_FATAL(NULL != pReg);
TEST(0 == pReg->uiNumberOfSuites);
TEST(0 == pReg->uiNumberOfTests);
TEST(NULL == pReg->pSuite);
TEST(CU_FALSE == suite_exists(pReg, "suite1"));
TEST(CU_FALSE == suite_exists(pReg, "suite2"));
TEST(CU_FALSE == suite_exists(pReg, "suite3"));
TEST(CU_FALSE == suite_exists(pReg, "suite4"));
TEST(CU_FALSE == suite_exists(pReg, "suite5"));
TEST(CU_FALSE == suite_exists(pReg, ""));
/* normal creation & cleanup */
pSuite1 = create_suite("suite1", NULL, NULL);
insert_suite(pReg, pSuite1);
TEST(1 == pReg->uiNumberOfSuites);
TEST(0 == pReg->uiNumberOfTests);
TEST(pReg->pSuite == pSuite1);
TEST(pSuite1->pNext == NULL);
TEST(CU_TRUE == suite_exists(pReg, "suite1"));
TEST(CU_FALSE == suite_exists(pReg, "suite2"));
TEST(CU_FALSE == suite_exists(pReg, "suite3"));
TEST(CU_FALSE == suite_exists(pReg, "suite4"));
TEST(CU_FALSE == suite_exists(pReg, "suite5"));
TEST(CU_FALSE == suite_exists(pReg, ""));
pSuite2 = create_suite("suite2", sfunc1, NULL);
insert_suite(pReg, pSuite2);
TEST(2 == pReg->uiNumberOfSuites);
TEST(0 == pReg->uiNumberOfTests);
TEST(pReg->pSuite == pSuite1);
TEST(pSuite1->pNext == pSuite2);
TEST(pSuite2->pNext == NULL);
TEST(CU_TRUE == suite_exists(pReg, "suite1"));
TEST(CU_TRUE == suite_exists(pReg, "suite2"));
TEST(CU_FALSE == suite_exists(pReg, "suite3"));
TEST(CU_FALSE == suite_exists(pReg, "suite4"));
TEST(CU_FALSE == suite_exists(pReg, "suite5"));
TEST(CU_FALSE == suite_exists(pReg, ""));
pSuite3 = create_suite("suite3", NULL, sfunc1);
insert_suite(pReg, pSuite3);
TEST(3 == pReg->uiNumberOfSuites);
TEST(0 == pReg->uiNumberOfTests);
TEST(pReg->pSuite == pSuite1);
TEST(pSuite1->pNext == pSuite2);
TEST(pSuite2->pNext == pSuite3);
TEST(pSuite3->pNext == NULL);
TEST(CU_TRUE == suite_exists(pReg, "suite1"));
TEST(CU_TRUE == suite_exists(pReg, "suite2"));
TEST(CU_TRUE == suite_exists(pReg, "suite3"));
TEST(CU_FALSE == suite_exists(pReg, "suite4"));
TEST(CU_FALSE == suite_exists(pReg, "suite5"));
TEST(CU_FALSE == suite_exists(pReg, ""));
pSuite4 = create_suite("suite4", sfunc1, sfunc1);
insert_suite(pReg, pSuite4);
TEST(4 == pReg->uiNumberOfSuites);
TEST(0 == pReg->uiNumberOfTests);
TEST(pReg->pSuite == pSuite1);
TEST(pSuite1->pNext == pSuite2);
TEST(pSuite2->pNext == pSuite3);
TEST(pSuite3->pNext == pSuite4);
TEST(pSuite4->pNext == NULL);
TEST(CU_TRUE == suite_exists(pReg, "suite1"));
TEST(CU_TRUE == suite_exists(pReg, "suite2"));
TEST(CU_TRUE == suite_exists(pReg, "suite3"));
TEST(CU_TRUE == suite_exists(pReg, "suite4"));
TEST(CU_FALSE == suite_exists(pReg, "suite5"));
TEST(CU_FALSE == suite_exists(pReg, ""));
TEST(0 != test_cunit_get_n_memevents(pReg));
TEST(0 != test_cunit_get_n_memevents(pSuite1));
TEST(0 != test_cunit_get_n_memevents(pSuite2));
TEST(0 != test_cunit_get_n_memevents(pSuite3));
TEST(0 != test_cunit_get_n_memevents(pSuite4));
TEST(test_cunit_get_n_allocations(pReg) != test_cunit_get_n_deallocations(pReg));
TEST(test_cunit_get_n_allocations(pSuite1) != test_cunit_get_n_deallocations(pSuite1));
TEST(test_cunit_get_n_allocations(pSuite2) != test_cunit_get_n_deallocations(pSuite2));
TEST(test_cunit_get_n_allocations(pSuite3) != test_cunit_get_n_deallocations(pSuite3));
TEST(test_cunit_get_n_allocations(pSuite4) != test_cunit_get_n_deallocations(pSuite4));
cleanup_test_registry(pReg);
TEST(CU_FALSE == suite_exists(pReg, "suite1"));
TEST(CU_FALSE == suite_exists(pReg, "suite2"));
TEST(CU_FALSE == suite_exists(pReg, "suite3"));
TEST(CU_FALSE == suite_exists(pReg, "suite4"));
TEST(CU_FALSE == suite_exists(pReg, "suite5"));
TEST(CU_FALSE == suite_exists(pReg, ""));
CU_FREE(pReg);
TEST(test_cunit_get_n_allocations(pReg) == test_cunit_get_n_deallocations(pReg));
TEST(test_cunit_get_n_allocations(pSuite1) == test_cunit_get_n_deallocations(pSuite1));
TEST(test_cunit_get_n_allocations(pSuite2) == test_cunit_get_n_deallocations(pSuite2));
TEST(test_cunit_get_n_allocations(pSuite3) == test_cunit_get_n_deallocations(pSuite3));
TEST(test_cunit_get_n_allocations(pSuite4) == test_cunit_get_n_deallocations(pSuite4));
}
/*--------------------------------------------------*/
static void test_create_test(void)
{
CU_pTest pTest1 = NULL;
CU_pTest pTest2 = NULL;
/* error condition - memory allocation failure */
test_cunit_deactivate_malloc();
pTest1 = create_test("test1", test1);
test_cunit_activate_malloc();
TEST(NULL == pTest1);
/* normal creation & cleanup */
pTest1 = create_test("test1", test1);
TEST(NULL != pTest1);
TEST(pTest1->pTestFunc == test1);
TEST(!strcmp("test1", pTest1->pName));
TEST(pTest1->pNext == NULL);
TEST(pTest1->pPrev == NULL);
TEST(pTest1->pJumpBuf == NULL);
pTest2= create_test("test2", NULL);
TEST(NULL != pTest2);
TEST(pTest2->pTestFunc == NULL);
TEST(!strcmp("test2", pTest2->pName));
TEST(pTest2->pNext == NULL);
TEST(pTest2->pPrev == NULL);
TEST(pTest2->pJumpBuf == NULL);
TEST(0 != test_cunit_get_n_memevents(pTest1));
TEST(0 != test_cunit_get_n_memevents(pTest2));
TEST(test_cunit_get_n_allocations(pTest1) != test_cunit_get_n_deallocations(pTest1));
TEST(test_cunit_get_n_allocations(pTest2) != test_cunit_get_n_deallocations(pTest2));
cleanup_test(pTest1);
CU_FREE(pTest1);
cleanup_test(pTest2);
CU_FREE(pTest2);
TEST(test_cunit_get_n_allocations(pTest1) == test_cunit_get_n_deallocations(pTest1));
TEST(test_cunit_get_n_allocations(pTest2) == test_cunit_get_n_deallocations(pTest2));
}
/*--------------------------------------------------*/
static void test_insert_test(void)
{
CU_pSuite pSuite1 = NULL;
CU_pSuite pSuite2 = NULL;
CU_pTest pTest1 = NULL;
CU_pTest pTest2 = NULL;
CU_pTest pTest3 = NULL;
CU_pTest pTest4 = NULL;
/* create tests to register */
pTest1 = create_test("test1", test1);
pTest2 = create_test("test2", NULL);
pTest3 = create_test("test3", test1);
pTest4 = create_test("", NULL);
/* create suites to hold tests */
pSuite1 = create_suite("suite1", NULL, NULL);
pSuite2 = create_suite("suite2", sfunc1, sfunc1);
TEST(CU_FALSE == test_exists(pSuite1, "test1"));
TEST(CU_FALSE == test_exists(pSuite1, "test2"));
TEST(CU_FALSE == test_exists(pSuite1, "test3"));
TEST(CU_FALSE == test_exists(pSuite1, "test4"));
TEST(CU_FALSE == test_exists(pSuite1, ""));
TEST(CU_FALSE == test_exists(pSuite2, "test1"));
TEST(CU_FALSE == test_exists(pSuite2, "test2"));
TEST(CU_FALSE == test_exists(pSuite2, "test3"));
TEST(CU_FALSE == test_exists(pSuite2, "test4"));
TEST(CU_FALSE == test_exists(pSuite2, ""));
insert_test(pSuite1, pTest1);
insert_test(pSuite1, pTest2);
insert_test(pSuite1, pTest3);
insert_test(pSuite2, pTest4);
TEST(CU_TRUE == test_exists(pSuite1, "test1"));
TEST(CU_TRUE == test_exists(pSuite1, "test2"));
TEST(CU_TRUE == test_exists(pSuite1, "test3"));
TEST(CU_FALSE == test_exists(pSuite1, "test4"));
TEST(CU_FALSE == test_exists(pSuite1, ""));
TEST(CU_FALSE == test_exists(pSuite2, "test1"));
TEST(CU_FALSE == test_exists(pSuite2, "test2"));
TEST(CU_FALSE == test_exists(pSuite2, "test3"));
TEST(CU_FALSE == test_exists(pSuite2, "test4"));
TEST(CU_TRUE == test_exists(pSuite2, ""));
TEST(3 == pSuite1->uiNumberOfTests);
TEST(1 == pSuite2->uiNumberOfTests);
TEST(pSuite1->pTest == pTest1);
TEST(pSuite2->pTest == pTest4);
TEST(pTest1->pNext == pTest2);
TEST(pTest1->pPrev == NULL);
TEST(pTest2->pNext == pTest3);
TEST(pTest2->pPrev == pTest1);
TEST(pTest3->pNext == NULL);
TEST(pTest3->pPrev == pTest2);
TEST(pTest4->pNext == NULL);
TEST(pTest4->pPrev == NULL);
TEST(0 != test_cunit_get_n_memevents(pSuite1));
TEST(0 != test_cunit_get_n_memevents(pSuite2));
TEST(0 != test_cunit_get_n_memevents(pTest1));
TEST(0 != test_cunit_get_n_memevents(pTest2));
TEST(0 != test_cunit_get_n_memevents(pTest3));
TEST(0 != test_cunit_get_n_memevents(pTest4));
TEST(test_cunit_get_n_allocations(pSuite1) != test_cunit_get_n_deallocations(pSuite1));
TEST(test_cunit_get_n_allocations(pSuite2) != test_cunit_get_n_deallocations(pSuite2));
TEST(test_cunit_get_n_allocations(pTest1) != test_cunit_get_n_deallocations(pTest1));
TEST(test_cunit_get_n_allocations(pTest2) != test_cunit_get_n_deallocations(pTest2));
TEST(test_cunit_get_n_allocations(pTest3) != test_cunit_get_n_deallocations(pTest3));
TEST(test_cunit_get_n_allocations(pTest4) != test_cunit_get_n_deallocations(pTest4));
cleanup_suite(pSuite1);
TEST(CU_FALSE == test_exists(pSuite1, "test1"));
TEST(CU_FALSE == test_exists(pSuite1, "test2"));
TEST(CU_FALSE == test_exists(pSuite1, "test3"));
TEST(CU_FALSE == test_exists(pSuite1, "test4"));
TEST(CU_FALSE == test_exists(pSuite1, ""));
TEST(CU_FALSE == test_exists(pSuite2, "test1"));
TEST(CU_FALSE == test_exists(pSuite2, "test2"));
TEST(CU_FALSE == test_exists(pSuite2, "test3"));
TEST(CU_FALSE == test_exists(pSuite2, "test4"));
TEST(CU_TRUE == test_exists(pSuite2, ""));
cleanup_suite(pSuite2);
TEST(CU_FALSE == test_exists(pSuite1, "test1"));
TEST(CU_FALSE == test_exists(pSuite1, "test2"));
TEST(CU_FALSE == test_exists(pSuite1, "test3"));
TEST(CU_FALSE == test_exists(pSuite1, "test4"));
TEST(CU_FALSE == test_exists(pSuite1, ""));
TEST(CU_FALSE == test_exists(pSuite2, "test1"));
TEST(CU_FALSE == test_exists(pSuite2, "test2"));
TEST(CU_FALSE == test_exists(pSuite2, "test3"));
TEST(CU_FALSE == test_exists(pSuite2, "test4"));
TEST(CU_FALSE == test_exists(pSuite2, ""));
CU_FREE(pSuite1);
CU_FREE(pSuite2);
TEST(test_cunit_get_n_allocations(pSuite1) == test_cunit_get_n_deallocations(pSuite1));
TEST(test_cunit_get_n_allocations(pSuite2) == test_cunit_get_n_deallocations(pSuite2));
TEST(test_cunit_get_n_allocations(pTest1) == test_cunit_get_n_deallocations(pTest1));
TEST(test_cunit_get_n_allocations(pTest2) == test_cunit_get_n_deallocations(pTest2));
TEST(test_cunit_get_n_allocations(pTest3) == test_cunit_get_n_deallocations(pTest3));
TEST(test_cunit_get_n_allocations(pTest4) == test_cunit_get_n_deallocations(pTest4));
}
/*--------------------------------------------------*/
static void test_cleanup_test(void)
{
char* pName;
CU_pTest pTest1 = create_test("test1", NULL);
TEST_FATAL(NULL != pTest1);
pName = pTest1->pName;
TEST(0 != test_cunit_get_n_memevents(pTest1));
TEST(0 != test_cunit_get_n_memevents(pName));
TEST(test_cunit_get_n_allocations(pTest1) != test_cunit_get_n_deallocations(pTest1));
TEST(test_cunit_get_n_allocations(pName) != test_cunit_get_n_deallocations(pName));
cleanup_test(pTest1);
CU_FREE(pTest1);
TEST(test_cunit_get_n_allocations(pTest1) == test_cunit_get_n_deallocations(pTest1));
TEST(test_cunit_get_n_allocations(pName) == test_cunit_get_n_deallocations(pName));
}
/*--------------------------------------------------*/
static void test_suite_exists(void)
{
/* covered by test_insert_suite() */
}
/*--------------------------------------------------*/
static void test_test_exists(void)
{
/* covered by test_insert_test() */
}
/*--------------------------------------------------*/
static void group_A_case_1(void)
{
CU_ASSERT_TRUE(1);
}
static void group_A_case_2(void)
{
CU_ASSERT_TRUE(2);
}
static void group_B_case_1(void)
{
CU_ASSERT_FALSE(1);
}
static void group_B_case_2(void)
{
CU_ASSERT_FALSE(2);
}
static CU_TestInfo group_A_test_cases[] = {
{ "1", group_A_case_1 },
{ "2", group_A_case_2 },
CU_TEST_INFO_NULL,
};
static CU_TestInfo group_B_test_cases[] = {
{ "1", group_B_case_1 },
{ "2", group_B_case_2 },
CU_TEST_INFO_NULL,
};
static CU_SuiteInfo suites0[] = {
CU_SUITE_INFO_NULL,
};
static CU_SuiteInfo suites1[] = {
{ "A1", NULL, NULL, group_A_test_cases },
{ "B1", NULL, NULL, group_B_test_cases },
CU_SUITE_INFO_NULL,
};
static CU_SuiteInfo suites2[] = {
{ "A2", NULL, NULL, group_A_test_cases },
{ "B2", NULL, NULL, group_B_test_cases },
CU_SUITE_INFO_NULL,
};
static void test_register_suite(void)
{
CU_pTestRegistr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -