Esempio n. 1
0
void pcu_runner_searchHierarchy( pcu_suite_t* suite ) {
   if( pcu_nnames ) {
      int ii;

      for( ii = 0; ii < pcu_nnames; ii++ ) {
	 if( !strcmp( pcu_names[ii], suite->name ) )
	    break;
      }
      if( ii == pcu_nnames ) {
         pcu_suite_t* cur;

         cur = suite->subsuites;
         while( cur ) {
            pcu_runner_searchHierarchy( cur );
            cur = cur->next;
         }
         pcu_suite_clear( suite );
         free( suite );
         return;
      }
   }

   /* Add to the list of current suites. */
   if( pcu_suites ) {
      pcu_suite_t* cur;

      cur = pcu_suites;
      while( cur->next )
	 cur = cur->next;
      cur->next = suite;
   }
   else
      pcu_suites = suite;
   pcu_nsuites++;
}
Esempio n. 2
0
void pcu_suite_clear( pcu_suite_t* suite ) {
   pcu_test_t* tst;
   pcu_source_t* src;
   pcu_suite_t* sub;

   while( suite->tests ) {
      while( suite->tests->srcs ) {
         src = suite->tests->srcs->next;
         pcu_source_clear( suite->tests->srcs );
         free( suite->tests->srcs );
         suite->tests->srcs = src;
      }

      tst = suite->tests->next;
      free( suite->tests );
      suite->tests = tst;
   }
   suite->ntests = 0;
   suite->curtest = NULL;

   while( suite->subsuites ) {
      pcu_suite_clear( suite->subsuites );
      sub = suite->subsuites->next;
      free( suite->subsuites );
      suite->subsuites = sub;
   }

   if( suite->data ) {
      free( suite->data );
      suite->data = NULL;
   }
}
Esempio n. 3
0
void pcu_runner_finalise() {
   pcu_suite_t* tmp;

   while( pcu_suites ) {
      pcu_suite_clear( pcu_suites );
      tmp = pcu_suites->next;
      free( pcu_suites );
      pcu_suites = tmp;
   }

   /* Don't delete the associated listeners ... this remains user code responsibility - just delete the array of
      ptrs */
   free ( pcu_lsnrs );   
}