void devil_test_thread(void) { devil_thread_t* thread; fprintf(stdout, "begin testing thread module : <%s>\n", __func__); thread = devil_thread_create(worker, (void*)34); DEVIL_ASSERT(NULL != thread); devil_thread_start(thread); devil_thread_join(thread); devil_thread_release(thread); fprintf(stdout, "end testing thread module : all passed!!!\n"); }
static inline void worker(void* arg) { DEVIL_ASSERT((void*)34 == arg); }
void devil_test_list(void) { devil_list_t* list; int i; devil_list_iter_t iter; fprintf(stdout, "test list module of devil <%s>\n", __func__); fprintf(stdout, "\ttest devil_list_create\n"); list = devil_list_create(); DEVIL_ASSERT(NULL != list); DEVIL_ASSERT(0 == devil_list_size(list)); DEVIL_ASSERT(devil_list_empty(list)); fprintf(stdout, "\ttest devil_list_pushback\n"); for (i = 0; i < 10; ++i) devil_list_pushback(list, (void*)(intptr_t)i); DEVIL_ASSERT(!devil_list_empty(list)); DEVIL_ASSERT(10 == devil_list_size(list)); DEVIL_ASSERT(0 == (int)devil_list_front(list)); DEVIL_ASSERT(9 == (int)devil_list_back(list)); fprintf(stdout, "\ttest devil_list_pushfront\n"); for (i = 0; i < 5; ++i) devil_list_pushfront(list, (void*)(intptr_t)((i + 1) * 100)); DEVIL_ASSERT(15 == devil_list_size(list)); DEVIL_ASSERT(500 == (int)devil_list_front(list)); DEVIL_ASSERT(9 == (int)devil_list_back(list)); fprintf(stdout, "\ttest devil_list_iter_t\n"); iter = devil_list_begin(list); for (; iter != devil_list_end(list); iter = devil_list_iter_next(iter)) { fprintf(stdout, "\t\tlist item value => %d\n", (int)devil_list_iter_value(iter)); } fprintf(stdout, "\ttest devil_list_popfront\n"); DEVIL_ASSERT(500 == (int)devil_list_popfront(list)); DEVIL_ASSERT(14 == devil_list_size(list)); fprintf(stdout, "\ttest devil_list_popback\n"); DEVIL_ASSERT(9 == (int)devil_list_popback(list)); DEVIL_ASSERT(13 == devil_list_size(list)); fprintf(stdout, "\ttest devil_list_clear\n"); devil_list_clear(list); DEVIL_ASSERT(devil_list_empty(list)); DEVIL_ASSERT(0 == devil_list_size(list)); fprintf(stdout, "test list module of devil : all passed\n"); }