From 6d50a8bff1938a8d7f398275a886aca37d6f6a7c Mon Sep 17 00:00:00 2001 From: Uros Majstorovic Date: Tue, 14 May 2024 23:09:36 +0200 Subject: tests improved logging; add dir client test --- ecp/test/dir.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 ecp/test/dir.c (limited to 'ecp/test/dir.c') diff --git a/ecp/test/dir.c b/ecp/test/dir.c new file mode 100644 index 0000000..099ecbb --- /dev/null +++ b/ecp/test/dir.c @@ -0,0 +1,65 @@ +#include +#include +#include +#include + +#include +#include +#include + +#include + +ECPContext ctx; +ECPSocket sock; +ECPConnection conn; +ECPConnHandler dir_handler; + +#define LOG(fmt, rv) { printf(fmt " RV:%d\n", rv); if (rv) exit(1); } + +static void handle_err(ECPConnection *conn, unsigned char mtype, int err) { + printf("ERROR: CTYPE:0x%x MTYPE:0x%x ERR:%d\n", conn->type, mtype, err); +} + +static void print_list(ECPDirList *dir_list, int err) { + ecp_dir_list_destroy(dir_list); +} + +static void usage(char *arg) { + fprintf(stderr, "Usage: %s
\n", arg); + exit(1); +} + +int main(int argc, char *argv[]) { + ECPNode node; + ecp_ecdh_public_t node_pub; + int rv; + + if (argc != 3) usage(argv[0]); + + rv = ecp_ctx_init(&ctx, NULL, NULL, NULL, handle_err); + LOG("ecp_ctx_init", rv); + + rv = ecp_dir_set_handler(&ctx, &dir_handler, print_list); + LOG("ecp_dir_ctx_init", rv); + + rv = ecp_sock_create(&sock, &ctx, NULL); + LOG("ecp_sock_create", rv); + + rv = ecp_sock_open(&sock, NULL); + LOG("ecp_sock_open", rv); + + rv = ecp_start_receiver(&sock); + LOG("ecp_start_receiver", rv); + + rv = ecp_util_load_key(argv[2], &node_pub, NULL); + LOG("ecp_util_load_key", rv); + + ecp_node_init(&node, &node_pub, NULL); + rv = ecp_node_set_addr(&node, argv[1]); + LOG("ecp_node_set_addr", rv); + + rv = ecp_dir_get(&conn, &sock, &node, 0); + LOG("ecp_dir_get", rv); + + while(1) pause(); +} -- cgit v1.2.3