X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=test%2Finvite-join.c;h=9f5cc8067eafe5c754de6e4a9782aaab0ef6d763;hb=668664d0ea90dc81670cccd7b7d56b36b8360eaa;hp=41b62bd4d92cb475ddabc47c2fdb34cfdff53794;hpb=196806f90f40fcc0cf727abd4bed6bc5aefff5ff;p=meshlink diff --git a/test/invite-join.c b/test/invite-join.c index 41b62bd4..9f5cc806 100644 --- a/test/invite-join.c +++ b/test/invite-join.c @@ -8,25 +8,33 @@ volatile bool baz_reachable = false; void status_cb(meshlink_handle_t *mesh, meshlink_node_t *node, bool reachable) { - if(!strcmp(node->name, "baz")) + if(!strcmp(node->name, "baz")) { baz_reachable = reachable; + } } int main(int argc, char *argv[]) { // Open two new meshlink instance. meshlink_handle_t *mesh1 = meshlink_open("invite_join_conf.1", "foo", "invite-join", DEV_CLASS_BACKBONE); + if(!mesh1) { fprintf(stderr, "Could not initialize configuration for foo\n"); return 1; } meshlink_handle_t *mesh2 = meshlink_open("invite_join_conf.2", "bar", "invite-join", DEV_CLASS_BACKBONE); + if(!mesh2) { fprintf(stderr, "Could not initialize configuration for bar\n"); return 1; } + // Disable local discovery. + + meshlink_enable_discovery(mesh1, false); + meshlink_enable_discovery(mesh2, false); + // Start the first instance and have it generate an invitation. meshlink_set_node_status_cb(mesh1, status_cb); @@ -38,6 +46,7 @@ int main(int argc, char *argv[]) { meshlink_add_address(mesh1, "localhost"); char *url = meshlink_invite(mesh1, "baz"); + if(!url) { fprintf(stderr, "Foo could not generate an invitation for baz\n"); return 1; @@ -61,8 +70,10 @@ int main(int argc, char *argv[]) { for(int i = 0; i < 60; i++) { sleep(1); - if(baz_reachable) + + if(baz_reachable) { break; + } } if(!baz_reachable) { @@ -71,6 +82,7 @@ int main(int argc, char *argv[]) { } int pmtu = meshlink_get_pmtu(mesh1, meshlink_get_node(mesh1, "baz")); + for(int i = 0; i < 10 && !pmtu; i++) { sleep(1); pmtu = meshlink_get_pmtu(mesh1, meshlink_get_node(mesh1, "baz"));