Example #1
0
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;
}