📄 testrun.c
字号:
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 + -