X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=test%2Fimport-export.c;h=bffe0fc49cabfd9aae8b8022b723106c43122a63;hb=be83b0af60449c7b35d17d97f2e6dc12f611e831;hp=133cbcbe98e30084afbac38f12ab833473a97185;hpb=f1da50294494310d7a299c29af5649d4415bd38a;p=meshlink diff --git a/test/import-export.c b/test/import-export.c index 133cbcbe..bffe0fc4 100644 --- a/test/import-export.c +++ b/test/import-export.c @@ -43,8 +43,8 @@ int main() { // Import and export both side's data - meshlink_add_address(mesh1, "localhost"); - meshlink_add_address(mesh2, "localhost"); + assert(meshlink_add_address(mesh1, "localhost")); + assert(meshlink_add_address(mesh2, "localhost")); char *data = meshlink_export(mesh1); assert(data); @@ -58,6 +58,16 @@ int main() { assert(meshlink_import(mesh1, data)); free(data); + // Check that foo knows bar, but that it is not reachable. + + time_t last_reachable; + time_t last_unreachable; + meshlink_node_t *bar = meshlink_get_node(mesh1, "bar"); + assert(bar); + assert(!meshlink_get_node_reachability(mesh1, bar, &last_reachable, &last_unreachable)); + assert(!last_reachable); + assert(!last_unreachable); + // Start both instances meshlink_set_node_status_cb(mesh1, status_cb); @@ -80,6 +90,24 @@ int main() { assert(pmtu); + // Check that we now have reachability information + + assert(meshlink_get_node_reachability(mesh1, bar, &last_reachable, &last_unreachable)); + assert(last_reachable); + assert(!last_unreachable); + + // Stop the meshes. + + meshlink_stop(mesh1); + meshlink_stop(mesh2); + + // Check that bar is no longer reachable + + assert(!meshlink_get_node_reachability(mesh1, bar, &last_reachable, &last_unreachable)); + assert(last_reachable); + assert(last_unreachable); + assert(last_reachable <= last_unreachable); + // Clean up. meshlink_close(mesh2);