int main(int argc, char *argv[]) { int i; int ret; belcard_tester_init(NULL); if (strstr(argv[0], ".libs")) { int prefix_length = (int)(strstr(argv[0], ".libs") - argv[0]) + 1; char prefix[200]; sprintf(prefix, "%s%.*s", argv[0][0] == '/' ? "" : "./", prefix_length, argv[0]); bc_tester_set_resource_dir_prefix(prefix); bc_tester_set_writable_dir_prefix(prefix); } for(i = 1; i < argc; ++i) { int ret = bc_tester_parse_args(argc, argv, i); if (ret>0) { i += ret - 1; continue; } else if (ret<0) { bc_tester_helper(argv[0], ""); } return ret; } ret = bc_tester_start(argv[0]); belcard_tester_uninit(); return ret; }
int main (int argc, char *argv[]) { int i; int ret; const char *root_ca_path = NULL; const char *env_domain=getenv("TEST_DOMAIN"); belle_sip_tester_init(NULL); #ifndef WIN32 /*this hack doesn't work for argv[0]="c:\blablab\"*/ // this allows to launch liblinphone_tester from outside of tester directory if (strstr(argv[0], ".libs")) { int prefix_length = strstr(argv[0], ".libs") - argv[0] + 1; char *prefix = belle_sip_strdup_printf("%s%.*s", argv[0][0] == '/' ? "" : "./", prefix_length, argv[0]); // printf("Resource prefix set to %s\n", prefix); bc_tester_set_resource_dir_prefix(prefix); bc_tester_set_writable_dir_prefix(prefix); belle_sip_free(prefix); } #endif if (env_domain) { test_domain=env_domain; } for(i=1;i<argc;++i){ if (strcmp(argv[i],"--verbose")==0){ belle_sip_set_log_level(BELLE_SIP_LOG_DEBUG); } else if (strcmp(argv[i],"--silent")==0){ belle_sip_set_log_level(BELLE_SIP_LOG_FATAL); } else if (strcmp(argv[i],"--log-file")==0){ CHECK_ARG("--log-file", ++i, argc); if (belle_sip_tester_set_log_file(argv[i]) < 0) return -2; } else if (strcmp(argv[i],"--domain")==0){ CHECK_ARG("--domain", ++i, argc); test_domain=argv[i]; }else if (strcmp(argv[i],"--auth-domain")==0){ CHECK_ARG("--auth-domain", ++i, argc); auth_domain=argv[i]; } else if (strcmp(argv[i], "--root-ca") == 0) { CHECK_ARG("--root-ca", ++i, argc); root_ca_path = argv[i]; }else { int ret = bc_tester_parse_args(argc, argv, i); if (ret>0) { i += ret - 1; continue; } else if (ret<0) { bc_tester_helper(argv[0], belle_sip_helper); } return ret; } } belle_sip_tester_set_root_ca_path(root_ca_path); pool=belle_sip_object_pool_push(); ret = bc_tester_start(argv[0]); belle_sip_tester_uninit(); return ret; }
void bc_tester_init(void (*ftester_printf)(int level, const char *fmt, va_list args), int iverbosity_info, int iverbosity_error) { #if defined(BC_TESTER_WINDOWS_PHONE) || defined(BC_TESTER_WINDOWS_UNIVERSAL) bc_tester_set_resource_dir_prefix("Assets"); #elif defined(__QNX__) bc_tester_set_resource_dir_prefix("./app/native/assets/"); #else bc_tester_set_resource_dir_prefix("."); #endif #ifdef ANDROID bc_tester_set_writable_dir_prefix("/data/data/org.linphone.tester/cache"); #elif defined(__QNX__) bc_tester_set_writable_dir_prefix("./tmp"); #else bc_tester_set_writable_dir_prefix("."); #endif tester_printf_va = ftester_printf; bc_printf_verbosity_error = iverbosity_error; bc_printf_verbosity_info = iverbosity_info; }
int apple_main (int argc, char *argv[]) { #else int main (int argc, char *argv[]) { #endif int i; int ret; mediastreamer2_tester_init(NULL); // this allows to launch tester from outside of tester directory if (strstr(argv[0], ".libs")) { long prefix_length = strstr(argv[0], ".libs") - argv[0] + 1; char *prefix = ms_strdup_printf("%s%.*s", argv[0][0] == '/' ? "" : "./", prefix_length, argv[0]); ms_warning("Resource prefix set to %s", prefix); bc_tester_set_resource_dir_prefix(prefix); bc_tester_set_writable_dir_prefix(prefix); ms_free(prefix); } for(i = 1; i < argc; ++i) { if (strcmp(argv[i], "--verbose") == 0) { ortp_set_log_level_mask(ORTP_LOG_DOMAIN, ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL); } else if (strcmp(argv[i], "--silent") == 0) { ortp_set_log_level_mask(ORTP_LOG_DOMAIN, ORTP_FATAL); } else if (strcmp(argv[i],"--log-file")==0){ CHECK_ARG("--log-file", ++i, argc); if (mediastreamer2_tester_set_log_file(argv[i]) < 0) return -2; } else { int ret = bc_tester_parse_args(argc, argv, i); if (ret>0) { i += ret - 1; continue; } else if (ret<0) { bc_tester_helper(argv[0], mediastreamer2_helper); } return ret; } } ret = bc_tester_start(argv[0]); mediastreamer2_tester_uninit(); return ret; }
static void detect_res_prefix(const char* prog) { char* progpath = NULL; FILE* writable_file = NULL; if (prog != NULL) { progpath = strdup(prog); if (strchr(prog, '/') != NULL) { progpath[strrchr(prog, '/') - prog + 1] = '\0'; } else if (strchr(prog, '\\') != NULL) { progpath[strrchr(prog, '\\') - prog + 1] = '\0'; } } #if !defined(BC_TESTER_WINDOWS_PHONE) && !defined(BC_TESTER_WINDOWS_UNIVERSAL) && !defined(__QNX__) && !defined(ANDROID) && !defined(IOS) { char* prefix = NULL; if (file_exists(".")) { prefix = strdup("."); } else if (file_exists("..")) { prefix = strdup(".."); } else if (progpath) { //for autotools, binary is in .libs/ subdirectory char * progpath2 = bc_sprintf("%s/../", progpath); if (file_exists(progpath)) { prefix = strdup(progpath); } else if (file_exists(progpath2)) { prefix = strdup(progpath2); } free(progpath2); } if (bc_tester_resource_dir_prefix != NULL && !file_exists(bc_tester_resource_dir_prefix)) { bc_tester_printf(bc_printf_verbosity_error, "Invalid provided resource directory: could not find expected resources in %s.\n", bc_tester_resource_dir_prefix); free(bc_tester_resource_dir_prefix); bc_tester_resource_dir_prefix = NULL; } if (prefix != NULL) { if (bc_tester_resource_dir_prefix == NULL) { bc_tester_printf(bc_printf_verbosity_error, "Resource directory set to %s\n", prefix); bc_tester_set_resource_dir_prefix(prefix); } if (bc_tester_writable_dir_prefix == NULL) { bc_tester_printf(bc_printf_verbosity_error, "Writable directory set to %s\n", prefix); bc_tester_set_writable_dir_prefix(prefix); } free(prefix); } } #endif // check that we can write in writable directory if (bc_tester_writable_dir_prefix != NULL) { char * writable_file_path = bc_sprintf("%s/%s", bc_tester_writable_dir_prefix, ".bc_tester_utils.tmp"); writable_file = fopen(writable_file_path, "w"); if (writable_file) { fclose(writable_file); } free(writable_file_path); } if (bc_tester_resource_dir_prefix == NULL || writable_file == NULL) { if (bc_tester_resource_dir_prefix == NULL) { bc_tester_printf(bc_printf_verbosity_error, "Failed to detect resources for %s.\n", prog); bc_tester_printf(bc_printf_verbosity_error, "Could not find resource directory in %s! Please try again using option --resource-dir.\n", progpath); } if (writable_file == NULL) { bc_tester_printf(bc_printf_verbosity_error, "Failed to write file in %s. Please try again using option --writable-dir.\n", bc_tester_writable_dir_prefix); } abort(); } if (progpath != NULL) { free(progpath); } }
int main (int argc, char *argv[]) { int i; int ret; #ifdef HAVE_GTK gtk_init(&argc, &argv); #if !GLIB_CHECK_VERSION(2,32,0) // backward compatibility with Debian 6 and CentOS 6 g_thread_init(NULL); #endif gdk_threads_init(); #endif liblinphone_tester_init(NULL); if (strstr(argv[0], ".libs")) { char res_dir[128] = {0}; // this allows to launch liblinphone_tester from outside of tester directory strncpy(res_dir, argv[0], strstr(argv[0], ".libs")-argv[0]); bc_tester_set_resource_dir_prefix(res_dir); bc_tester_set_writable_dir_prefix(res_dir); } for(i = 1; i < argc; ++i) { if (strcmp(argv[i], "--verbose") == 0) { linphone_core_set_log_level_mask(ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL); } else if (strcmp(argv[i], "--silent") == 0) { linphone_core_set_log_level_mask(ORTP_FATAL); } else if (strcmp(argv[i],"--log-file")==0){ CHECK_ARG("--log-file", ++i, argc); log_file=fopen(argv[i],"w"); if (!log_file) { ms_error("Cannot open file [%s] for writing logs because [%s]",argv[i],strerror(errno)); return -2; } else { ms_message("Redirecting traces to file [%s]",argv[i]); ortp_set_log_file(log_file); } } else if (strcmp(argv[i],"--domain")==0){ CHECK_ARG("--domain", ++i, argc); test_domain=argv[i]; } else if (strcmp(argv[i],"--auth-domain")==0){ CHECK_ARG("--auth-domain", ++i, argc); auth_domain=argv[i]; } else if (strcmp(argv[i],"--config")==0){ CHECK_ARG("--config", ++i, argc); bc_tester_set_resource_dir_prefix(argv[i]); }else if (strcmp(argv[i],"--dns-hosts")==0){ CHECK_ARG("--dns-hosts", ++i, argc); userhostsfile=argv[i]; } else if (strcmp(argv[i],"--keep-recorded-files")==0){ liblinphone_tester_keep_recorded_files(TRUE); } else { int bret = bc_tester_parse_args(argc, argv, i); if (bret>0) { i += bret - 1; continue; } else if (bret<0) { bc_tester_helper(argv[0], liblinphone_helper); } return bret; } } ret = bc_tester_start(); liblinphone_tester_uninit(); return ret; }