From 75732c2f1247725bf512b152450306157b56d78f Mon Sep 17 00:00:00 2001 From: linus Date: Wed, 19 Jan 2011 16:47:37 +0100 Subject: Add basic testing code. --- lib/tests/udp-server.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lib/tests/udp-server.c (limited to 'lib/tests/udp-server.c') diff --git a/lib/tests/udp-server.c b/lib/tests/udp-server.c new file mode 100644 index 0000000..9275e10 --- /dev/null +++ b/lib/tests/udp-server.c @@ -0,0 +1,47 @@ +#include +#include +#include "udp.h" + +ssize_t +handle_data (const uint8_t *buf, ssize_t len) +{ + int i; + + printf ("# len: %ld\n", len); + for (i = 0; i < len; i++) + { + printf ("%02x%s", buf[i], (i+1) % 8 ? " " : " "); + if ((i + 1) % 16 == 0) + printf ("\n"); + } + printf ("\n"); + return len; +} + +int +main (int argc, char *argv[]) +{ + int n, i; + struct timeval tv; + struct polldata *data; + +#define TIMEOUT 1 /* Seconds. */ + + tv.tv_sec = TIMEOUT; + tv.tv_usec = 0; + data = server (argv[1], &tv, handle_data); + + for (i = 0, n = poll (data); n == 0 && i < 3; n = poll (data), i++) + { + fprintf (stderr, "waiting another %ld second%s\n", + tv.tv_sec, tv.tv_sec > 1 ? "s" : ""); + } + + if (data) + { + if (data->timeout) + free (data->timeout); + free (data); + } + return (n <= 0); +} -- cgit v1.1