X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=test%2Fchannels-fork.c;h=38ae9b19e19bdfbf0990c15e4c96d4d7e1d33544;hb=4b6c01b1d5383b1a7417244a31ad4652aab2d5db;hp=321e5ea6c1a68d8947d6d498a3ebd46394b61100;hpb=fcaa1807cfe424af2498c75b9c6ea6f490dc15ce;p=meshlink diff --git a/test/channels-fork.c b/test/channels-fork.c index 321e5ea6..38ae9b19 100644 --- a/test/channels-fork.c +++ b/test/channels-fork.c @@ -1,4 +1,9 @@ #define _GNU_SOURCE 1 + +#ifdef NDEBUG +#undef NDEBUG +#endif + #include #include #include @@ -40,7 +45,7 @@ static void bar_status_cb(meshlink_handle_t *mesh, meshlink_node_t *node, bool r static void bar_receive_cb(meshlink_handle_t *mesh, meshlink_channel_t *channel, const void *data, size_t len) { // Echo the data back. if(len) { - meshlink_channel_send(mesh, channel, data, len); + assert(meshlink_channel_send(mesh, channel, data, len) == (ssize_t)len); } else { meshlink_channel_close(mesh, channel); } @@ -86,12 +91,12 @@ static int main1(int rfd, int wfd) { meshlink_set_log_cb(NULL, MESHLINK_DEBUG, log_cb); assert(meshlink_destroy("channels_fork_conf.1")); - meshlink_handle_t *mesh = meshlink_open("channels_fork_conf.1", "foo", "channels", DEV_CLASS_BACKBONE); + meshlink_handle_t *mesh = meshlink_open("channels_fork_conf.1", "foo", "channels-fork", DEV_CLASS_BACKBONE); assert(mesh); meshlink_enable_discovery(mesh, false); - meshlink_add_address(mesh, "localhost"); + assert(meshlink_set_canonical_address(mesh, meshlink_get_self(mesh), "localhost", NULL)); char *data = meshlink_export(mesh); assert(data); @@ -142,12 +147,12 @@ static int main2(int rfd, int wfd) { meshlink_set_log_cb(NULL, MESHLINK_DEBUG, log_cb); assert(meshlink_destroy("channels_fork_conf.2")); - meshlink_handle_t *mesh = meshlink_open("channels_fork_conf.2", "bar", "channels", DEV_CLASS_BACKBONE); + meshlink_handle_t *mesh = meshlink_open("channels_fork_conf.2", "bar", "channels-fork", DEV_CLASS_BACKBONE); assert(mesh); meshlink_enable_discovery(mesh, false); - meshlink_add_address(mesh, "localhost"); + assert(meshlink_set_canonical_address(mesh, meshlink_get_self(mesh), "localhost", NULL)); char *data = meshlink_export(mesh); assert(data); @@ -181,11 +186,15 @@ static void alarm_handler(int sig) { assert(0); } -int main() { +int main(void) { + init_sync_flag(&bar_responded); + init_sync_flag(&foo_connected); + init_sync_flag(&foo_gone); + int fda[2], fdb[2]; - assert(pipe2(fda, 0) != -1); - assert(pipe2(fdb, 0) != -1); + assert(pipe(fda) != -1); + assert(pipe(fdb) != -1); if(!fork()) { return main2(fdb[0], fda[1]);