int test_pdu_proto_analyzer() { protocol_format_set_t *pfs_p; struct protocol_analyzer_s *pa; uint32_t ret = 0; proto_info_list_t *info_list = NULL; struct proto_analyzer_admin_s *pa_admin = NULL; allocator = allocator_creator(ALLOCATOR_TYPE_SYS_MALLOC,0); pfs_p = pfs_create_proto_format_set(allocator); init_proto_format_set(0x0,100,pfs_p); pfs_set_pdu_format_ackd(pfs_p); /* *pfs_print_proto_link_lists(pfs_p); */ /*set and parse test*/ pa = pa_create_protocol_analyzer(allocator); pa_init_protocol_analyzer(0x8, pfs_p, pa); /* *pa = proto_analyer_admin_get_pa(pa_admin,0x3008); */ pa_set_value("LB",1,pa); pa_set_value("PF",1,pa); pa_set_value("CSBKO",0x2f,pa); pa_set_value("FID",0x8,pa); pa_set_value("RI",1,pa); pa_set_value("ARC",4,pa); pa_set_value("RSVD",1,pa); pa_set_value("TADDR",0xfffc001,pa); pa_set_value("SADDR",0xfffc002,pa); dbg_str(DBG_IMPORTANT,"print list for each,orinal data"); pfs_print_list_for_each(pa->pa_list_head_p); pa_generate_protocol_data(pa); dbg_str(DBG_DETAIL,"pa_parse_protocol_data\n"); pa_parse_protocol_data(pa); dbg_str(DBG_IMPORTANT,"print list for each after parse"); pfs_print_list_for_each(pa->pa_list_head_p); dbg_str(DBG_DETAIL,"pa_destroy_protocol_analyzer"); pa_destroy_protocol_analyzer(pa); dbg_str(DBG_DETAIL,"pfs_destroy_protocol_format_set"); pfs_destroy_protocol_format_set(pfs_p); return ret; }
int test_list(void) { int ret = 0; allocator_t *allocator; iterator_t it,next; container_t *ct; /* *allocator = allocator_creator(ALLOCATOR_TYPE_SYS_MALLOC); */ allocator = allocator_creator(ALLOCATOR_TYPE_CDS_MALLOC); allocator_cds_init(allocator, 0, 0, 1024); dbg_str(DBG_CONTAINER_DETAIL,"list allocator addr:%p",allocator); ct = container_creator(CONTAINER_TYPE_LIST,allocator); container_list_init(ct,sizeof(struct test)); /* *container_push_front(ct,&test); *container_push_front(ct,&test2); *container_push_front(ct,&test3); */ dbg_str(DBG_CONTAINER_DETAIL,"run at here"); container_push_back(ct,&test); container_push_back(ct,&test2); container_push_back(ct,&test3); dbg_str(DBG_CONTAINER_DETAIL,"iter ordinal"); for( it = container_begin(ct); !iterator_equal(it,container_end(ct)); it = iterator_next(it)) { print_test((struct test *)iterator_get_pointer(it)); } dbg_str(DBG_CONTAINER_DETAIL,"iter insert test"); int i = 0; for( it = container_begin(ct); !iterator_equal(it,container_end(ct)); it = iterator_next(it),i++) { if(i == 1){ break; } } dbg_str(DBG_CONTAINER_DETAIL,"it list_head:%p",it.pos.list_head_p); container_insert(ct,it,&test4); dbg_str(DBG_CONTAINER_DETAIL,"iter delte test"); container_for_each_safe(it,next,ct){ //container_delete(ct,it); print_test((struct test *)iterator_get_pointer(it)); }
void test_cds_alloc() { allocator_t *allocator; void *p ,*p2,*p3; uint32_t size = 8; /* *alloc_p->slab_max_num = SLAB_ARRAY_MAX_NUM; *alloc_p->data_min_size = 8; *alloc_p->mempool_capacity = MEM_POOL_MAX_SIZE; */ allocator = allocator_creator(ALLOCATOR_TYPE_CDS_MALLOC); allocator_cds_init(allocator, 0, 0, 1024); /* *allocator_cds_init(allocator,0,0,0); */ p = allocator_mem_alloc(allocator,7); dbg_str(DBG_CONTAINER_DETAIL,"alloc addr:%p",p); allocator_mem_free(allocator,p); p2 = allocator_mem_alloc(allocator,8); dbg_str(DBG_CONTAINER_DETAIL,"alloc addr:%p",p2); p3 = allocator_mem_alloc(allocator,200); dbg_str(DBG_CONTAINER_DETAIL,"alloc addr:%p",p3); dbg_str(DBG_CONTAINER_DETAIL,"inquire alloc info"); allocator_mem_info(allocator); allocator_mem_free(allocator,p); allocator_mem_free(allocator,p2); allocator_mem_free(allocator,p3); dbg_str(DBG_CONTAINER_DETAIL,"batch alloc"); int i; for(size = 8,i = 0; i< 20; i++,size += 8){ p = allocator_mem_alloc(allocator,size); } dbg_str(DBG_CONTAINER_DETAIL,"inquire alloc info"); allocator_mem_info(allocator); allocator_destroy(allocator); dbg_str(DBG_CONTAINER_DETAIL,"test cds alloc end"); }
int test_container_list(void) { int ret = 0; allocator_t *allocator; iterator_t it,next,end; container_t *ct; allocator = allocator_creator(ALLOCATOR_TYPE_SYS_MALLOC,0); /* *allocator = allocator_creator(ALLOCATOR_TYPE_CTR_MALLOC,0); *allocator_ctr_init(allocator, 0, 0, 1024); */ dbg_str(DBG_CONTAINER_DETAIL,"list allocator addr:%p",allocator); ct = container_creator(CONTAINER_TYPE_LIST,allocator,0); container_init(ct,sizeof(struct test)); /* *container_push_front(ct,&test); *container_push_front(ct,&test2); *container_push_front(ct,&test3); */ container_push_back(ct,&test); container_push_back(ct,&test2); container_push_back(ct,&test3); dbg_str(DBG_CONTAINER_DETAIL,"iter ordinal"); for( container_begin(ct,&it),iterator_next(&it,&next); !iterator_equal(&it,container_end(ct,&end)); it= next,iterator_next(&it,&next)) { print_test((struct test *)iterator_get_pointer(&it)); } container_insert(ct,&it,&test4); dbg_str(DBG_CONTAINER_DETAIL,"iter delte test"); container_for_each_safe(it,next,ct){ print_test((struct test *)iterator_get_pointer(&it)); }
int test_datastructure_link_list() { llist_t *llist; allocator_t *allocator; struct test t1={1,2}; struct test t2={2,2}; struct test t3={3,2}; struct test t4={4,2}; int ret = 0; /* *allocator = allocator_creator(ALLOCATOR_TYPE_CTR_MALLOC); *allocator_ctr_init(allocator, 0, 0, 1024); *dbg_str(DBG_CONTAINER_DETAIL,"list allocator addr:%p",allocator); */ allocator = allocator_creator(ALLOCATOR_TYPE_SYS_MALLOC,0); //ct = container_creator(CONTAINER_TYPE_LIST,allocator); llist = llist_create(allocator,0); llist_init(llist,sizeof(struct test)); llist_push_front(llist,&t1); llist_push_front(llist,&t2); llist_push_front(llist,&t3); llist_push_front(llist,&t4); llist_push_back(llist,&t1); llist_push_back(llist,&t2); llist_push_back(llist,&t3); llist_push_back(llist,&t4); llist_for_each(llist,print_list_data); llist_destroy(llist); return ret; }