diff options
author | Stanislav Zaikin <stanislav.zaikin@46labs.com> | 2024-03-06 19:48:30 +0100 |
---|---|---|
committer | Ole Tr�an <otroan@employees.org> | 2024-03-18 17:30:07 +0000 |
commit | dc4d21e9ce78a77caa7abfe997021cd735863e0f (patch) | |
tree | 17b6636f29b256020eff224cfe7a2b76ad77726e /src/vpp-api/vapi/vapi_c_test.c | |
parent | 3eb6cbec50a5cbe4c3465d60ba6aea7bf2845cd1 (diff) |
vapi: uds transport support
introduce ability to connect over unix socket instead of shared memory
Type: improvement
Change-Id: Id9042c74e33ad4e418896c4d7ae48bb9106195c9
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Diffstat (limited to 'src/vpp-api/vapi/vapi_c_test.c')
-rw-r--r-- | src/vpp-api/vapi/vapi_c_test.c | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/src/vpp-api/vapi/vapi_c_test.c b/src/vpp-api/vapi/vapi_c_test.c index 3f88dedca48..7a0e462e40a 100644 --- a/src/vpp-api/vapi/vapi_c_test.c +++ b/src/vpp-api/vapi/vapi_c_test.c @@ -43,6 +43,7 @@ DEFINE_VAPI_MSG_IDS_FAKE_API_JSON; static char *app_name = NULL; static char *api_prefix = NULL; +static bool use_uds = false; static const int max_outstanding_requests = 64; static const int response_queue_size = 32; @@ -65,8 +66,9 @@ START_TEST (test_invalid_values) ck_assert_ptr_eq (NULL, sv); rv = vapi_send (ctx, sv); ck_assert_int_eq (VAPI_EINVAL, rv); - rv = vapi_connect (ctx, app_name, api_prefix, max_outstanding_requests, - response_queue_size, VAPI_MODE_BLOCKING, true); + rv = + vapi_connect_ex (ctx, app_name, api_prefix, max_outstanding_requests, + response_queue_size, VAPI_MODE_BLOCKING, true, use_uds); ck_assert_int_eq (VAPI_OK, rv); rv = vapi_send (ctx, NULL); ck_assert_int_eq (VAPI_EINVAL, rv); @@ -367,8 +369,9 @@ START_TEST (test_connect) vapi_ctx_t ctx; vapi_error_e rv = vapi_ctx_alloc (&ctx); ck_assert_int_eq (VAPI_OK, rv); - rv = vapi_connect (ctx, app_name, api_prefix, max_outstanding_requests, - response_queue_size, VAPI_MODE_BLOCKING, true); + rv = + vapi_connect_ex (ctx, app_name, api_prefix, max_outstanding_requests, + response_queue_size, VAPI_MODE_BLOCKING, true, use_uds); ck_assert_int_eq (VAPI_OK, rv); rv = vapi_disconnect (ctx); ck_assert_int_eq (VAPI_OK, rv); @@ -384,8 +387,9 @@ setup_blocking (void) { vapi_error_e rv = vapi_ctx_alloc (&ctx); ck_assert_int_eq (VAPI_OK, rv); - rv = vapi_connect (ctx, app_name, api_prefix, max_outstanding_requests, - response_queue_size, VAPI_MODE_BLOCKING, true); + rv = + vapi_connect_ex (ctx, app_name, api_prefix, max_outstanding_requests, + response_queue_size, VAPI_MODE_BLOCKING, true, use_uds); ck_assert_int_eq (VAPI_OK, rv); } @@ -394,8 +398,9 @@ setup_nonblocking (void) { vapi_error_e rv = vapi_ctx_alloc (&ctx); ck_assert_int_eq (VAPI_OK, rv); - rv = vapi_connect (ctx, app_name, api_prefix, max_outstanding_requests, - response_queue_size, VAPI_MODE_NONBLOCKING, true); + rv = vapi_connect_ex (ctx, app_name, api_prefix, max_outstanding_requests, + response_queue_size, VAPI_MODE_NONBLOCKING, true, + use_uds); ck_assert_int_eq (VAPI_OK, rv); } @@ -1065,13 +1070,23 @@ test_suite (void) int main (int argc, char *argv[]) { - if (3 != argc) + if (4 != argc) { printf ("Invalid argc==`%d'\n", argc); return EXIT_FAILURE; } app_name = argv[1]; api_prefix = argv[2]; + if (!strcmp (argv[3], "shm")) + use_uds = 0; + else if (!strcmp (argv[3], "uds")) + use_uds = 1; + else + { + printf ("Unrecognised required argument '%s', expected 'uds' or 'shm'.", + argv[3]); + return EXIT_FAILURE; + } printf ("App name: `%s', API prefix: `%s'\n", app_name, api_prefix); int number_failed; |