f_bTestIsRunning = FALSE;
f_bTestIsRunning = CU_FALSE;
CU_ErrorCode CU_run_test(CU_pSuite pSuite, CU_pTest pTest){  CU_ErrorCode result;  CU_ErrorCode result2;  CU_set_error(result = CUE_SUCCESS);  if (!pSuite) {    CU_set_error(result = CUE_NOSUITE);  }  else if (!pTest) {    CU_set_error(result = CUE_NOTEST);  }  else if (NULL == CU_get_test_by_name(pTest->pName, pSuite)) {    CU_set_error(result = CUE_TEST_NOT_IN_SUITE);  }  else {    /* test run is starting - set flag */    f_bTestIsRunning = TRUE;    /* Clear results from the previous run */    clear_previous_results(&f_run_summary, &f_failure_list);    f_pCurTest = NULL;    f_pCurSuite = pSuite;    if ((pSuite->pInitializeFunc) && (*pSuite->pInitializeFunc)()) {      if (f_pSuiteInitFailureMessageHandler) {        (*f_pSuiteInitFailureMessageHandler)(pSuite);      }      f_run_summary.nSuitesFailed++;      add_failure(&f_failure_list, &f_run_summary,                  0, "Suite Initialization failed - Test Skipped", "CUnit System", pSuite, pTest);      CU_set_error(result = CUE_SINIT_FAILED);      /* test run is complete - clear flag */      f_bTestIsRunning = FALSE;    }    /* reach here if no suite initialization, or if it succeeded */    else {      result2 = run_single_test(pTest, &f_run_summary);      result = (CUE_SUCCESS == result) ? result2 : result;      if ((pSuite->pCleanupFunc) && (*pSuite->pCleanupFunc)()) {        if (f_pSuiteCleanupFailureMessageHandler) {          (*f_pSuiteCleanupFailureMessageHandler)(pSuite);        }        f_run_summary.nSuitesFailed++;        add_failure(&f_failure_list, &f_run_summary,                    0, "Suite cleanup failed.", "CUnit System", pSuite, pTest);        result = (CUE_SUCCESS == result) ? CUE_SCLEAN_FAILED : result;        CU_set_error(CUE_SCLEAN_FAILED);      }      /* test run is complete - clear flag */      f_bTestIsRunning = FALSE;      if (f_pAllTestsCompleteMessageHandler)        (*f_pAllTestsCompleteMessageHandler)(f_failure_list);      f_pCurSuite = NULL;    }  }  return result;}