X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=test%2Futils.h;h=bce2f9a5cc1e1a37fbca7b8d85292ad73e6f6c76;hb=0b6635bd9460ba2f9aeafddd2aef79929cd417a1;hp=e1073df8f7e8468c1ee0936dc7d0c0c6323c912f;hpb=6bf3ea32f0afa91f1fed494542e873ca6abca9c9;p=meshlink diff --git a/test/utils.h b/test/utils.h index e1073df8..bce2f9a5 100644 --- a/test/utils.h +++ b/test/utils.h @@ -10,7 +10,8 @@ struct sync_flag { bool flag; }; -extern void set_sync_flag(struct sync_flag *s); +extern void set_sync_flag(struct sync_flag *s, bool value); +extern bool check_sync_flag(struct sync_flag *s); extern bool wait_sync_flag(struct sync_flag *s, int seconds); /// Create a pair of meshlink instances that are already joined together. @@ -23,7 +24,23 @@ extern void start_meshlink_pair(meshlink_handle_t *a, meshlink_handle_t *b); extern void stop_meshlink_pair(meshlink_handle_t *a, meshlink_handle_t *b); /// Stop and cleanup a pair of meshlink instances. -extern void close_meshlink_pair(meshlink_handle_t *a, meshlink_handle_t *b, const char *prefix); +extern void close_meshlink_pair(meshlink_handle_t *a, meshlink_handle_t *b); -#endif +/// Link two meshlink instances. +extern void link_meshlink_pair(meshlink_handle_t *a, meshlink_handle_t *b); + +/// Default log callback +extern void log_cb(meshlink_handle_t *mesh, meshlink_log_level_t level, const char *text); +#define assert_after(cond, timeout)\ + do {\ + for(int i = 0; i++ <= timeout;) {\ + if(cond)\ + break;\ + if(i == timeout)\ + assert(cond);\ + sleep(1);\ + }\ + } while(0) + +#endif