]> sigrok.org Git - libsigrokdecode.git/blobdiff - tests/runtc.c
Easier access to sequences of strings, not just lists.
[libsigrokdecode.git] / tests / runtc.c
index 78dbf5ec15ec38ebed8727d5681bb877855026af..427697301fc1d9e890549660600945faa5ba325c 100644 (file)
@@ -94,13 +94,25 @@ void ERR(const char *format, ...)
        va_end(args);
 }
 
+int sr_log(void *cb_data, int loglevel, const char *format, va_list args)
+{
+       (void)cb_data;
+
+       if (loglevel == SR_LOG_ERR || loglevel == SR_LOG_WARN)
+               logmsg("Error: sr: ", stderr, format, args);
+       else if (debug)
+               logmsg("DBG: sr: ", stdout, format, args);
+
+       return SRD_OK;
+}
+
 int srd_log(void *cb_data, int loglevel, const char *format, va_list args)
 {
        (void)cb_data;
 
        if (loglevel == SRD_LOG_ERR || loglevel == SRD_LOG_WARN)
                logmsg("Error: srd: ", stderr, format, args);
-       else if (loglevel >= SRD_LOG_DBG && debug)
+       else if (debug)
                logmsg("DBG: srd: ", stdout, format, args);
 
        return SRD_OK;
@@ -366,6 +378,7 @@ int main(int argc, char **argv)
        struct probe *probe;
        struct option *option;
        struct output *op;
+       int ret;
        char c, *opt_infile, **kv, **opstr;
 
        op = malloc(sizeof(struct output));
@@ -464,19 +477,22 @@ int main(int argc, char **argv)
        if (!op->pd || op->type == -1)
                usage(NULL);
 
+       sr_log_callback_set(sr_log, NULL);
        if (sr_init(&ctx) != SR_OK)
                return 1;
 
        srd_log_callback_set(srd_log, NULL);
-       if (srd_init(NULL) != SRD_OK)
+       if (srd_init(DECODERS_DIR) != SRD_OK)
                return 1;
 
-       run_testcase(opt_infile, pdlist, op);
+       ret = 0;
+       if (!run_testcase(opt_infile, pdlist, op))
+               ret = 1;
 
        srd_exit();
        sr_exit(ctx);
 
-       return 0;
+       return ret;
 }