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

📄 testrun.c

📁 linux 下 C程序单元测试,可以实现交互模式和静态模式
💻 C
📖 第 1 页 / 共 5 页
字号:
    TEST(NULL == pEvent->pFailure);    pEvent = pEvent->pNext;    TEST(TEST_COMPLETE == pEvent->type);    TEST(pSuite1 == pEvent->pSuite);    TEST(pTest2 == pEvent->pTest);    TEST(NULL != pEvent->pFailure);    pEvent = pEvent->pNext;    TEST(TEST_START == pEvent->type);    TEST(pSuite1 == pEvent->pSuite);    TEST(pTest3 == pEvent->pTest);    TEST(NULL == pEvent->pFailure);    pEvent = pEvent->pNext;    TEST(TEST_COMPLETE == pEvent->type);    TEST(pSuite1 == pEvent->pSuite);    TEST(pTest3 == pEvent->pTest);    TEST(NULL == pEvent->pFailure);    pEvent = pEvent->pNext;    TEST(SUITE_INIT_FAILED == pEvent->type);    TEST(pSuite2 == pEvent->pSuite);    TEST(NULL == pEvent->pTest);    TEST(NULL == pEvent->pFailure);    pEvent = pEvent->pNext;    TEST(TEST_START == pEvent->type);    TEST(pSuite3 == pEvent->pSuite);    TEST(pTest5 == pEvent->pTest);    TEST(NULL == pEvent->pFailure);    pEvent = pEvent->pNext;    TEST(TEST_COMPLETE == pEvent->type);    TEST(pSuite3 == pEvent->pSuite);    TEST(pTest5 == pEvent->pTest);    TEST(NULL != pEvent->pFailure);    pEvent = pEvent->pNext;    TEST(SUITE_CLEANUP_FAILED == pEvent->type);    TEST(pSuite3 == pEvent->pSuite);    TEST(NULL == pEvent->pTest);    TEST(NULL == pEvent->pFailure);    pEvent = pEvent->pNext;    TEST(ALL_TESTS_COMPLETE == pEvent->type);    TEST(NULL == pEvent->pSuite);    TEST(NULL == pEvent->pTest);    TEST(NULL != pEvent->pFailure);    if (4 == CU_get_number_of_failure_records()) {      TEST(NULL != pEvent->pFailure->pNext);      TEST(NULL != pEvent->pFailure->pNext->pNext);      TEST(NULL != pEvent->pFailure->pNext->pNext->pNext);      TEST(NULL == pEvent->pFailure->pNext->pNext->pNext->pNext);    }    TEST(pEvent->pFailure == CU_get_failure_list());  }  TEST(2 == CU_get_number_of_suites_run());  TEST(2 == CU_get_number_of_suites_failed());  TEST(4 == CU_get_number_of_tests_run());  TEST(2 == CU_get_number_of_tests_failed());  TEST(4 == CU_get_number_of_asserts());  TEST(2 == CU_get_number_of_successes());  TEST(2 == CU_get_number_of_failures());  TEST(4 == CU_get_number_of_failure_records());  pRunSummary = CU_get_run_summary();  TEST(pRunSummary->nSuitesRun      == CU_get_number_of_suites_run());  TEST(pRunSummary->nSuitesFailed   == CU_get_number_of_suites_failed());  TEST(pRunSummary->nTestsRun       == CU_get_number_of_tests_run());  TEST(pRunSummary->nTestsFailed    == CU_get_number_of_tests_failed());  TEST(pRunSummary->nAsserts        == CU_get_number_of_asserts());  TEST(pRunSummary->nAssertsFailed  == CU_get_number_of_failures());  TEST(pRunSummary->nFailureRecords == CU_get_number_of_failure_records());  /* clear handlers and run again */  CU_set_test_start_handler(NULL);  CU_set_test_complete_handler(NULL);  CU_set_all_test_complete_handler(NULL);  CU_set_suite_init_failure_handler(NULL);  CU_set_suite_cleanup_failure_handler(NULL);  TEST(NULL == CU_get_test_start_handler());  TEST(NULL == CU_get_test_complete_handler());  TEST(NULL == CU_get_all_test_complete_handler());  TEST(NULL == CU_get_suite_init_failure_handler());  TEST(NULL == CU_get_suite_cleanup_failure_handler());  clear_test_events();  CU_run_all_tests();  TEST(0 == f_nTestEvents);  TEST(NULL == f_pFirstEvent);  TEST(2 == CU_get_number_of_suites_run());  TEST(2 == CU_get_number_of_suites_failed());  TEST(4 == CU_get_number_of_tests_run());  TEST(2 == CU_get_number_of_tests_failed());  TEST(4 == CU_get_number_of_asserts());  TEST(2 == CU_get_number_of_successes());  TEST(2 == CU_get_number_of_failures());  TEST(4 == CU_get_number_of_failure_records());  pRunSummary = CU_get_run_summary();  TEST(pRunSummary->nSuitesRun      == CU_get_number_of_suites_run());  TEST(pRunSummary->nSuitesFailed   == CU_get_number_of_suites_failed());  TEST(pRunSummary->nTestsRun       == CU_get_number_of_tests_run());  TEST(pRunSummary->nTestsFailed    == CU_get_number_of_tests_failed());  TEST(pRunSummary->nAsserts        == CU_get_number_of_asserts());  TEST(pRunSummary->nAssertsFailed  == CU_get_number_of_failures());  TEST(pRunSummary->nFailureRecords == CU_get_number_of_failure_records());  CU_cleanup_registry();  clear_test_events();}static CU_BOOL f_exit_called = CU_FALSE;/* intercept exit for testing of CUEA_ABORT action */void test_exit(int status){  CU_UNREFERENCED_PARAMETER(status);  /* not used */  f_exit_called = CU_TRUE;}/*-------------------------------------------------*/static void test_CU_run_all_tests(void){  CU_pSuite pSuite1 = NULL;  CU_pSuite pSuite2 = NULL;  CU_pSuite pSuite3 = NULL;  CU_pSuite pSuite4 = NULL;  CU_pRunSummary pRunSummary = NULL;  /* error - uninitialized registry  (CUEA_IGNORE) */  CU_cleanup_registry();  CU_set_error_action(CUEA_IGNORE);  TEST(CUE_NOREGISTRY == CU_run_all_tests());  TEST(CUE_NOREGISTRY == CU_get_error());  /* error - uninitialized registry  (CUEA_FAIL) */  CU_cleanup_registry();  CU_set_error_action(CUEA_FAIL);  TEST(CUE_NOREGISTRY == CU_run_all_tests());  TEST(CUE_NOREGISTRY == CU_get_error());  /* error - uninitialized registry  (CUEA_ABORT) */  CU_cleanup_registry();  CU_set_error_action(CUEA_ABORT);  f_exit_called = CU_FALSE;  CU_run_all_tests();  TEST(CU_TRUE == f_exit_called);  f_exit_called = CU_FALSE;  /* run with no tests registered */  CU_set_error_action(CUEA_IGNORE);  CU_initialize_registry();  clear_test_events();  TEST(CUE_SUCCESS == CU_run_all_tests());  TEST(0 == f_nTestEvents);  TEST(NULL == f_pFirstEvent);  TEST(0 == CU_get_number_of_suites_run());  TEST(0 == CU_get_number_of_suites_failed());  TEST(0 == CU_get_number_of_tests_run());  TEST(0 == CU_get_number_of_tests_failed());  TEST(0 == CU_get_number_of_asserts());  TEST(0 == CU_get_number_of_successes());  TEST(0 == CU_get_number_of_failures());  TEST(0 == CU_get_number_of_failure_records());  TEST(NULL == CU_get_failure_list());  pRunSummary = CU_get_run_summary();  TEST(pRunSummary->nSuitesRun      == CU_get_number_of_suites_run());  TEST(pRunSummary->nSuitesFailed   == CU_get_number_of_suites_failed());  TEST(pRunSummary->nTestsRun       == CU_get_number_of_tests_run());  TEST(pRunSummary->nTestsFailed    == CU_get_number_of_tests_failed());  TEST(pRunSummary->nAsserts        == CU_get_number_of_asserts());  TEST(pRunSummary->nAssertsFailed  == CU_get_number_of_failures());  TEST(pRunSummary->nFailureRecords == CU_get_number_of_failure_records());  /* register some suites and tests */  CU_initialize_registry();  pSuite1 = CU_add_suite("suite1", NULL, NULL);  CU_add_test(pSuite1, "test1", test_succeed);  CU_add_test(pSuite1, "test2", test_fail);  CU_add_test(pSuite1, "test3", test_succeed);  CU_add_test(pSuite1, "test4", test_fail);  CU_add_test(pSuite1, "test5", test_succeed);  pSuite2 = CU_add_suite("suite2", suite_fail, NULL);  CU_add_test(pSuite2, "test6", test_succeed);  CU_add_test(pSuite2, "test7", test_succeed);  pSuite3 = CU_add_suite("suite3", NULL, NULL);  CU_add_test(pSuite3, "test8", test_fail);  CU_add_test(pSuite3, "test9", test_succeed);  pSuite4 = CU_add_suite("suite4", NULL, suite_fail);  CU_add_test(pSuite4, "test10", test_succeed);  TEST_FATAL(CUE_SUCCESS == CU_get_error());  /* run all tests (CUEA_IGNORE) */  clear_test_events();  CU_set_error_action(CUEA_IGNORE);  TEST(CUE_SINIT_FAILED == CU_run_all_tests());  TEST(0 == f_nTestEvents);  TEST(NULL == f_pFirstEvent);  TEST(3 == CU_get_number_of_suites_run());  TEST(2 == CU_get_number_of_suites_failed());  TEST(8 == CU_get_number_of_tests_run());  TEST(3 == CU_get_number_of_tests_failed());  TEST(8 == CU_get_number_of_asserts());  TEST(5 == CU_get_number_of_successes());  TEST(3 == CU_get_number_of_failures());  TEST(5 == CU_get_number_of_failure_records());  pRunSummary = CU_get_run_summary();  TEST(pRunSummary->nSuitesRun      == CU_get_number_of_suites_run());  TEST(pRunSummary->nSuitesFailed   == CU_get_number_of_suites_failed());  TEST(pRunSummary->nTestsRun       == CU_get_number_of_tests_run());  TEST(pRunSummary->nTestsFailed    == CU_get_number_of_tests_failed());  TEST(pRunSummary->nAsserts        == CU_get_number_of_asserts());  TEST(pRunSummary->nAssertsFailed  == CU_get_number_of_failures());  TEST(pRunSummary->nFailureRecords == CU_get_number_of_failure_records());  /* run all tests (CUEA_FAIL) */  clear_test_events();  CU_set_error_action(CUEA_FAIL);  TEST(CUE_SINIT_FAILED == CU_run_all_tests());  TEST(0 == f_nTestEvents);  TEST(NULL == f_pFirstEvent);  TEST(1 == CU_get_number_of_suites_run());  TEST(1 == CU_get_number_of_suites_failed());  TEST(5 == CU_get_number_of_tests_run());  TEST(2 == CU_get_number_of_tests_failed());  TEST(5 == CU_get_number_of_asserts());  TEST(3 == CU_get_number_of_successes());  TEST(2 == CU_get_number_of_failures());  TEST(3 == CU_get_number_of_failure_records());  pRunSummary = CU_get_run_summary();  TEST(pRunSummary->nSuitesRun      == CU_get_number_of_suites_run());  TEST(pRunSummary->nSuitesFailed   == CU_get_number_of_suites_failed());  TEST(pRunSummary->nTestsRun       == CU_get_number_of_tests_run());  TEST(pRunSummary->nTestsFailed    == CU_get_number_of_tests_failed());  TEST(pRunSummary->nAsserts        == CU_get_number_of_asserts());  TEST(pRunSummary->nAssertsFailed  == CU_get_number_of_failures());  TEST(pRunSummary->nFailureRecords == CU_get_number_of_failure_records());  /* run all tests (CUEA_ABORT) */  clear_test_events();  CU_set_error_action(CUEA_ABORT);  f_exit_called = CU_FALSE;  TEST(CUE_SINIT_FAILED == CU_run_all_tests());  TEST(CU_TRUE == f_exit_called);  f_exit_called = CU_FALSE;  TEST(0 == f_nTestEvents);  TEST(NULL == f_pFirstEvent);  TEST(1 == CU_get_number_of_suites_run());  TEST(1 == CU_get_number_of_suites_failed());  TEST(5 == CU_get_number_of_tests_run());  TEST(2 == CU_get_number_of_tests_failed());  TEST(5 == CU_get_number_of_asserts());  TEST(3 == CU_get_number_of_successes());  TEST(2 == CU_get_number_of_failures());  TEST(3 == CU_get_number_of_failure_records());  pRunSummary = CU_get_run_summary();  TEST(pRunSummary->nSuitesRun      == CU_get_number_of_suites_run());  TEST(pRunSummary->nSuitesFailed   == CU_get_number_of_suites_failed());  TEST(pRunSummary->nTestsRun       == CU_get_number_of_tests_run());  TEST(pRunSummary->nTestsFailed    == CU_get_number_of_tests_failed());  TEST(pRunSummary->nAsserts        == CU_get_number_of_asserts());  TEST(pRunSummary->nAssertsFailed  == CU_get_number_of_failures());  TEST(pRunSummary->nFailureRecords == CU_get_number_of_failure_records());  /* clean up after testing */  CU_set_error_action(CUEA_IGNORE);  CU_cleanup_registry();  clear_test_events();}/*-------------------------------------------------*/static void test_CU_run_suite(void){  CU_pSuite pSuite1 = NULL;  CU_pSuite pSuite2 = NULL;  CU_pSuite pSuite3 = NULL;  CU_pSuite pSuite4 = NULL;  CU_pRunSummary pRunSummary = NULL;  /* error - NULL suite (CUEA_IGNORE) */  CU_set_error_action(CUEA_IGNORE);  TEST(CUE_NOSUITE == CU_run_suite(NULL));  TEST(CUE_NOSUITE == CU_get_error());  /* error - NULL suite (CUEA_FAIL) */  CU_set_error_action(CUEA_FAIL);  TEST(CUE_NOSUITE == CU_run_suite(NULL));  TEST(CUE_NOSUITE == CU_get_error());  /* error - NULL suite (CUEA_ABORT) */  CU_set_error_action(CUEA_ABORT);  f_exit_called = CU_FALSE;  CU_run_suite(NULL);  TEST(CU_TRUE == f_exit_called);  f_exit_called = CU_FALSE;  /* register some suites and tests */  CU_initialize_registry();  pSuite1 = CU_add_suite("suite1", NULL, NULL);  CU_add_test(pSuite1, "test1", test_succeed);  CU_add_test(pSuite1, "test2", test_fail);  CU_add_test(pSuite1, "test3", test_succeed);  CU_add_test(pSuite1, "test4", test_fail);  CU_add_test(pSuite1, "test5", test_succeed);  pSuite2 = CU_add_suite("suite2", suite_fail, NULL);  CU_add_test(pSuite2, "test6", test_succeed);  CU_add_test(pSuite2, "test7", test_succeed);  pSuite3 = CU_add_suite("suite3", NULL, suite_fail);  CU_add_test(pSuite3, "test8", test_fail);  CU_add_test(pSuite3, "test9", test_succeed);  pSuite4 = CU_add_suite("suite4", NULL, NULL);  TEST_FATAL(CUE_SUCCESS == CU_get_error());  /* run each suite (CUEA_IGNORE) */  clear_test_events();  CU_set_error_action(CUEA_IGNORE);  TEST(CUE_SUCCESS == CU_run_suite(pSuite1));  TEST(0 == f_nTestEvents);  TEST(NULL == f_pFirstEvent);  TEST(1 == CU_get_number_of_suites_run());  TEST(0 == CU_get_number_of_suites_failed());  TEST(5 == CU_get_number_of_tests_run());  TEST(2 == CU_get_number_of_tests_failed());  TEST(5 == CU_get_number_of_asserts());  TEST(3 == CU_get_number_of_successes());  TEST(2 == CU_get_number_of_failures());  TEST(2 == CU_get_number_of_failure_records());  pRunSummary = CU_get_run_summary();  TEST(pRunSummary->nSuitesRun      == CU_get_number_of_suites_run());  TEST(pRunSummary->nSuitesFailed   == CU_get_number_of_suites_failed());  TEST(pRunSummary->nTestsRun       == CU_get_number_of_tests_run());  TEST(pRunSummary->nTestsFailed    == CU_get_number_of_tests_failed());  TEST(pRunSummary->nAsserts        == CU_get_number_of_asserts());  TEST(pRunSummary->nAssertsFailed  == CU_get_number_of_failures());  TEST(pRunSummary->nFailureRecords == CU_get_number_of_failure_records());  TEST(CUE_SINIT_FAILED == CU_run_suite(pSuite2));

⌨️ 快捷键说明

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