⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testdb.c

📁 linux 下 C程序单元测试,可以实现交互模式和静态模式
💻 C
📖 第 1 页 / 共 5 页
字号:
  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_pTestRegistry pReg = NULL;  CU_ErrorCode status;  if (CU_initialize_registry()) {    fprintf(stderr, "\nError initializing registry in test_register_suite().");    return;  }  pReg = CU_get_registry();  /* test initial condition */  TEST_FATAL(NULL != pReg);  TEST(0 == pReg->uiNumberOfSuites);  TEST(0 == pReg->uiNumberOfTests);  /* test CU_register_suites() with NULL */  status = CU_register_suites(NULL);  TEST(CUE_SUCCESS == status);  TEST(0 == pReg->uiNumberOfSuites);  TEST(0 == pReg->uiNumberOfTests);  /* test CU_register_suites() with empty array */  status = CU_register_suites(suites0);  TEST(CUE_SUCCESS == status);  TEST(0 == pReg->uiNumberOfSuites);  TEST(0 == pReg->uiNumberOfTests);  /* test CU_register_suites() with ok array */  status = CU_register_suites(suites1);  TEST(CUE_SUCCESS == status);  TEST(2 == pReg->uiNumberOfSuites);  TEST(4 == pReg->uiNumberOfTests);  /* test CU_register_suites() with duplicate suite name */  status = CU_register_suites(suites1);  TEST(CUE_DUP_SUITE == status);  TEST(2 == pReg->uiNumberOfSuites);  TEST(4 == pReg->uiNumberOfTests);  CU_cleanup_registry();  if (CU_initialize_registry()) {    fprintf(stderr, "\nError initializing registry in test_register_suite().");    return;  }  pReg = CU_get_registry();  /* test CU_register_nsuites() with ok arrays */  status = CU_register_nsuites(2, suites1, suites2);  TEST(CUE_SUCCESS == status);  TEST(4 == pReg->uiNumberOfSuites);  TEST(8 == pReg->uiNumberOfTests);}/*--------------------------------------------------*/void test_cunit_TestDB(void){  test_cunit_start_tests("TestDB.c");  test_CU_initialize_registry();  test_CU_cleanup_registry();  test_CU_add_suite();  test_CU_add_test();  test_CU_get_registry();  test_CU_set_registry();  test_CU

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -