bool filter(char *data, int &len){ if (config.drop){ if (!drop_packet(data, len)) return false; } if (config.corrupt_packets && config.corrupt_bytes && rand_test(config.corrupt_packets)){ corrupt_packet(data, len); } if (config.truncate_len){ len = MIN(len, config.truncate_len); } return true; }
int test_inner(void) { pj_caching_pool caching_pool; const char *filename; int line; int rc = 0; mem = &caching_pool.factory; pj_log_set_level(3); pj_log_set_decor(param_log_decor); rc = pj_init(); if (rc != 0) { app_perror("pj_init() error!!", rc); return rc; } //pj_dump_config(); pj_caching_pool_init( &caching_pool, NULL, 0 ); #if INCLUDE_ERRNO_TEST DO_TEST( errno_test() ); #endif #if INCLUDE_EXCEPTION_TEST DO_TEST( exception_test() ); #endif #if INCLUDE_OS_TEST DO_TEST( os_test() ); #endif #if INCLUDE_RAND_TEST DO_TEST( rand_test() ); #endif #if INCLUDE_LIST_TEST DO_TEST( list_test() ); #endif #if INCLUDE_POOL_TEST DO_TEST( pool_test() ); #endif #if INCLUDE_POOL_PERF_TEST DO_TEST( pool_perf_test() ); #endif #if INCLUDE_STRING_TEST DO_TEST( string_test() ); #endif #if INCLUDE_FIFOBUF_TEST DO_TEST( fifobuf_test() ); #endif #if INCLUDE_RBTREE_TEST DO_TEST( rbtree_test() ); #endif #if INCLUDE_HASH_TEST DO_TEST( hash_test() ); #endif #if INCLUDE_TIMESTAMP_TEST DO_TEST( timestamp_test() ); #endif #if INCLUDE_ATOMIC_TEST DO_TEST( atomic_test() ); #endif #if INCLUDE_MUTEX_TEST DO_TEST( mutex_test() ); #endif #if INCLUDE_TIMER_TEST DO_TEST( timer_test() ); #endif #if INCLUDE_SLEEP_TEST DO_TEST( sleep_test() ); #endif #if INCLUDE_THREAD_TEST DO_TEST( thread_test() ); #endif #if INCLUDE_SOCK_TEST DO_TEST( sock_test() ); #endif #if INCLUDE_SOCK_PERF_TEST DO_TEST( sock_perf_test() ); #endif #if INCLUDE_SELECT_TEST DO_TEST( select_test() ); #endif #if INCLUDE_UDP_IOQUEUE_TEST DO_TEST( udp_ioqueue_test() ); #endif #if PJ_HAS_TCP && INCLUDE_TCP_IOQUEUE_TEST DO_TEST( tcp_ioqueue_test() ); #endif #if INCLUDE_IOQUEUE_PERF_TEST DO_TEST( ioqueue_perf_test() ); #endif #if INCLUDE_IOQUEUE_UNREG_TEST DO_TEST( udp_ioqueue_unreg_test() ); #endif #if INCLUDE_ACTIVESOCK_TEST DO_TEST( activesock_test() ); #endif #if INCLUDE_FILE_TEST DO_TEST( file_test() ); #endif #if INCLUDE_SSLSOCK_TEST DO_TEST( ssl_sock_test() ); #endif #if INCLUDE_ECHO_SERVER //echo_server(); //echo_srv_sync(); udp_echo_srv_ioqueue(); #elif INCLUDE_ECHO_CLIENT if (param_echo_sock_type == 0) param_echo_sock_type = pj_SOCK_DGRAM(); echo_client( param_echo_sock_type, param_echo_server, param_echo_port); #endif goto on_return; on_return: pj_caching_pool_destroy( &caching_pool ); PJ_LOG(3,("test", "")); pj_thread_get_stack_info(pj_thread_this(), &filename, &line); PJ_LOG(3,("test", "Stack max usage: %u, deepest: %s:%u", pj_thread_get_stack_max_usage(pj_thread_this()), filename, line)); if (rc == 0) PJ_LOG(3,("test", "Looks like everything is okay!..")); else PJ_LOG(3,("test", "Test completed with error(s)")); pj_shutdown(); return 0; }
int main(int argc, char *argv[]){ // for debugging only rand_test(100); // random seed based on what time it is. sgenrand(time(NULL)); // initialize the necessary globals init_life(); init_stats(); // make a test lifeform struct lifeformData *test1, *test2, *child; // generate two parents test1 = lifeform_generate(); //printf("test1 pointer = %d\n",(int)test1); test2 = lifeform_generate(); //printf("test2 pointer = %d\n",(int)test2); child = lifeform_mate(test1, test2, false); FILE *printfile; printfile = fopen("test1.txt", "w"); print_lifeformData(printfile, test1); //if(test1 != NULL)free(test1);//lifeform_kill(test1); fclose(printfile); printfile = fopen("test2.txt", "w"); print_lifeformData(printfile, test2); //if(test2 != NULL)free(test2);//lifeform_kill(test2); fclose(printfile); printfile = fopen("child.txt", "w"); print_lifeformData(printfile, child); //if(child != NULL)free(child);//lifeform_kill(child); fclose(printfile); /* struct lifeformData *genLife = lifeform_generate(); FILE *printfile; printfile = fopen("new.txt", "w"); print_lifeformData(printfile, genLife); fclose(printfile); free(genLife); printf("sucess!"); char dummy; scanf("%c",&dummy); */ // quit return 0; }
bool drop_packet(char *data, int &len){ if (rand_test(config.drop)){ return false; } return true; }