X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=selftest.c;h=6edbc0d4ecf2016a5f2b050b9dd0b2ba0a4cac79;hb=bb3c69868316b57abfc50bf159916358bc06ad44;hp=c1df40f486481f1ff5ca1839617de3e673b1c95b;hpb=95d7d348316f1ed8d2ff3e37cb7f962abf4a7f84;p=utcp diff --git a/selftest.c b/selftest.c index c1df40f..6edbc0d 100644 --- a/selftest.c +++ b/selftest.c @@ -31,14 +31,14 @@ int do_recv(struct utcp_connection *x, void *data, size_t len) { return 0; } -bool do_pre_accept(struct utcp *utcp, void *data, size_t len) { +bool do_pre_accept(struct utcp *utcp, uint16_t port) { fprintf(stderr, "pre-accept\n"); - if(len != 2 || strncmp(data, "oi", 2)) + if(port != 7) return false; return true; } -void do_accept(struct utcp_connection *c, void *data, size_t len) { +void do_accept(struct utcp_connection *c, uint16_t port) { fprintf(stderr, "accept\n"); utcp_accept(c, do_recv, NULL); } @@ -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)); @@ -64,26 +63,41 @@ int main(int argc, char *argv[]) { b = utcp_init(NULL, NULL, do_send, NULL); fprintf(stderr, "Testing connection to closed port\n\n"); - c = utcp_connect(b, "zomg", 4, do_recv, NULL); + c = utcp_connect(b, 6, do_recv, NULL); fprintf(stderr, "\nTesting conection to non-listening side\n\n"); - c = utcp_connect(a, "oi", 2, do_recv, NULL); + c = utcp_connect(a, 7, do_recv, NULL); fprintf(stderr, "\nTesting connection to open port, close\n\n"); - c = utcp_connect(b, "oi", 2, do_recv, NULL); + c = utcp_connect(b, 7, do_recv, NULL); fprintf(stderr, "closing...\n"); utcp_close(c); fprintf(stderr, "\nTesting connection to open port, abort\n\n"); - c = utcp_connect(b, "oi", 2, do_recv, NULL); + c = utcp_connect(b, 7, do_recv, NULL); fprintf(stderr, "aborting...\n"); utcp_abort(c); fprintf(stderr, "\nTesting connection with data transfer\n\n"); - c = utcp_connect(b, "oi", 2, do_recv, NULL); - utcp_send(c, "Hello world!\n", 13); - utcp_send(c, "This is a test.\n", 16); + c = utcp_connect(b, 7, do_recv, NULL); + 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);