diff --git a/tests/.gitignore b/tests/.gitignore index bc51654..136958f 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,6 +1,7 @@ *.trs *.log active +api complete cronrun signal diff --git a/tests/Makefile.am b/tests/Makefile.am index d92f0f3..0506f60 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -3,6 +3,7 @@ CLEANFILES = *~ *.trs *.log TESTS = TESTS += active +TESTS += api TESTS += complete TESTS += cronrun TESTS += signal diff --git a/tests/api.c b/tests/api.c new file mode 100644 index 0000000..43f6e74 --- /dev/null +++ b/tests/api.c @@ -0,0 +1,34 @@ +#include "check.h" + +uev_t timer, file; +int counter = 10; + +static void cb(uev_t *w, void *UNUSED(arg), int events) +{ + if (UEV_ERROR == events) + fprintf(stderr, "timer watcher failed, ignoring ...\n"); + + if (counter--) + return; + + uev_exit(w->ctx); +} + +int main(void) +{ + uev_ctx_t ctx; + FILE *fp; + + uev_init(&ctx); + uev_timer_init(&ctx, &timer, cb, NULL, 100, 100); + + fp = fopen("/dev/one", "r"); + if (fp) + uev_io_init(&ctx, &file, cb, NULL, fileno(fp), UEV_READ); + + uev_run(&ctx, 0); + + uev_exit(&ctx); /* Should not hang event loop, troglobit/uftpd#16 */ + + return 0; +}