X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=selftest.c;h=3fb5c493fda98a6ff89e6a4b8aed01358098ce3a;hb=93d2e72d3e72e4d91575fc00545dbba96dcdea69;hp=dae05bf37b9d6809451cd5b761e0cd67fa84eca2;hpb=c93ef1391476090d5afacb899632df5476f964ed;p=utcp diff --git a/selftest.c b/selftest.c index dae05bf..3fb5c49 100644 --- a/selftest.c +++ b/selftest.c @@ -10,7 +10,7 @@ struct utcp *a; struct utcp *b; struct utcp_connection *c; -int do_recv(struct utcp_connection *x, void *data, size_t len) { +int do_recv(struct utcp_connection *x, const void *data, size_t len) { if(!len) { if(errno) fprintf(stderr, "%p Error: %s\n", x->utcp, strerror(errno)); @@ -43,7 +43,7 @@ void do_accept(struct utcp_connection *c, uint16_t port) { utcp_accept(c, do_recv, NULL); } -int do_send(struct utcp *utcp, void *data, size_t len) { +int do_send(struct utcp *utcp, const void *data, size_t len) { static int count = 0; if(++count > 1000) { fprintf(stderr, "Too many packets!\n"); @@ -56,7 +56,6 @@ int do_send(struct utcp *utcp, void *data, size_t len) { return utcp_recv(a, data, len); } - int main(int argc, char *argv[]) { srand(time(NULL)); @@ -82,8 +81,23 @@ int main(int argc, char *argv[]) { fprintf(stderr, "\nTesting connection with data transfer\n\n"); c = utcp_connect(b, 7, do_recv, NULL); - utcp_send(c, "Hello world!\n", 13); - utcp_send(c, "This is a test.\n", 16); + ssize_t len = utcp_send(c, "Hello world!\n", 13); + + if(len != 13) { + if(len < 0) + fprintf(stderr, "Error: %s\n", strerror(errno)); + else + fprintf(stderr, "Short write %zd!\n", len); + } + len = utcp_send(c, "This is a test.\n", 16); + + if(len != 16) { + if(len < 0) + fprintf(stderr, "Error: %s\n", strerror(errno)); + else + fprintf(stderr, "Short write %zd!\n", len); + } + fprintf(stderr, "closing...\n"); utcp_close(c);