X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fruntc.c;h=427697301fc1d9e890549660600945faa5ba325c;hb=932606db3cdb14518dac55c67f4ecc8471fb6a33;hp=bb2595013338c6b7698b78c79b635dfbd59ee54c;hpb=b74823812d4106bfafc4a7fef1d4a141dac58519;p=libsigrokdecode.git diff --git a/tests/runtc.c b/tests/runtc.c index bb25950..4276973 100644 --- a/tests/runtc.c +++ b/tests/runtc.c @@ -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,6 +477,7 @@ 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; @@ -471,12 +485,14 @@ int main(int argc, char **argv) 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; }