int main(int argc, char* argv[]) { int ret; MMSConfig config; const char* test_name = NULL; mms_lib_init(argv[0]); mms_lib_default_config(&config); mms_log_default.name = "test_read_ind"; if (argc > 1 && !strcmp(argv[1], "-v")) { mms_log_default.level = MMS_LOGLEVEL_VERBOSE; memmove(argv + 1, argv + 2, (argc-2)*sizeof(argv[0])); argc--; } else { mms_log_default.level = MMS_LOGLEVEL_INFO; mms_task_notification_log.level = MMS_LOGLEVEL_NONE; mms_log_stdout_timestamp = FALSE; } if (argc == 2 && argv[1][0] != '-') { test_name = argv[1]; } if (argc == 1 || test_name) { char* tmpd = g_mkdtemp(g_strdup("/tmp/test_read_ind_XXXXXX")); MMS_VERBOSE("Temporary directory %s", tmpd); config.root_dir = tmpd; config.idle_secs = 0; config.attic_enabled = TRUE; ret = test_run(&config, test_name); remove(tmpd); g_free(tmpd); } else { printf("Usage: test_read_ind [-v] [TEST]\n"); ret = RET_ERR; } mms_lib_deinit(); return ret; }
int main(int argc, char* argv[]) { int ret = RET_ERR; gboolean debug = FALSE; gboolean verbose = FALSE; GError* error = NULL; GOptionContext* options; GOptionEntry entries[] = { { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, "Enable verbose output", NULL }, { "debug", 'd', 0, G_OPTION_ARG_NONE, &debug, "Disable timeout for debugging", NULL }, { NULL } }; options = g_option_context_new("[TEST] - MMS read report test"); g_option_context_add_main_entries(options, entries, NULL); if (g_option_context_parse(options, &argc, &argv, &error)) { MMSConfig config; char* tmpd = g_mkdtemp(g_strdup("/tmp/test_read_report_XXXXXX")); char* msgdir = g_strconcat(tmpd, "/msg", NULL); mms_lib_init(argv[0]); mms_lib_default_config(&config); config.idle_secs = 0; config.root_dir = tmpd; mms_log_default.name = "test_read_report"; if (verbose) { mms_log_default.level = MMS_LOGLEVEL_VERBOSE; } else { mms_log_default.level = MMS_LOGLEVEL_INFO; mms_task_decode_log.level = mms_task_retrieve_log.level = mms_task_notification_log.level = MMS_LOGLEVEL_NONE; mms_log_stdout_timestamp = FALSE; } MMS_VERBOSE("Temporary directory %s", tmpd); if (argc < 2) { ret = test_read_report(&config, NULL, debug); } else { int i; for (i=1, ret = RET_OK; i<argc; i++) { int test_status = test_read_report(&config, argv[i], debug); if (ret == RET_OK && test_status != RET_OK) ret = test_status; } } rmdir(msgdir); rmdir(tmpd); remove(tmpd); g_free(tmpd); g_free(msgdir); mms_lib_deinit(); } else { fprintf(stderr, "%s\n", MMS_ERRMSG(error)); g_error_free(error); ret = RET_ERR; } g_option_context_free(options); return ret; }