X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fwormhole_static_test.c;h=25d2ccaafbf960ce5049172605f58b1f3f204f5a;hb=839fc1e9a0f53f3cb9e1991d364e593047656584;hp=9cb8d82bcc406f5cc4ef61b9ed26181bbd59602f;hpb=8790bf0c4f4f08fd05853afa67e211112b344a42;p=ric-plt%2Flib%2Frmr.git diff --git a/test/wormhole_static_test.c b/test/wormhole_static_test.c index 9cb8d82..25d2cca 100644 --- a/test/wormhole_static_test.c +++ b/test/wormhole_static_test.c @@ -34,9 +34,11 @@ #include #include #include +#include +#include -#include "../src/common/include/rmr.h" -#include "../src/common/include/rmr_agnostic.h" +#include "rmr.h" +#include "rmr_agnostic.h" /* @@ -47,19 +49,17 @@ static int worm_test( ) { uta_ctx_t* ctx; // context needed to test load static rt char wbuf[1024]; int errors = 0; // number errors found + int state = 0; int i; + void* p; rmr_mbuf_t* mbuf; // mbuf to send to peer int whid = -1; int last_whid; - ctx = (uta_ctx_t *) malloc( sizeof( uta_ctx_t ) ); - if( ctx == NULL ) { - fail_if_nil( ctx, "could not allocate dummy context" ); - return 1; - } - memset( ctx, 0, sizeof( *ctx ) ); + ctx = mk_dummy_ctx(); ctx->my_name = strdup( "tester" ); + ctx->my_ip = strdup( "30.4.19.86:1111" ); gen_rt( ctx ); @@ -100,11 +100,23 @@ static int worm_test( ) { whid = rmr_wh_open( ctx, "localhost:21961" ); errors += fail_not_equal( whid, 3, "attempt to fill in a hole didn't return expected" ); - rmr_wh_send_msg( NULL, 0, NULL ); // tests for coverage - rmr_wh_send_msg( ctx, 0, NULL ); + p = rmr_wh_send_msg( NULL, 0, NULL ); // tests for coverage + fail_not_nil( p, "wh_send_msg returned a pointer when given nil context and message" ); + + p = rmr_wh_send_msg( ctx, 0, NULL ); + fail_not_nil( p, "wh_send_msg returned a pointer when given nil message with valid context" ); mbuf = rmr_alloc_msg( ctx, 2048 ); // get an muf to pass round errors += fail_if_nil( mbuf, "unable to allocate mbuf for send tests (giving up on send tests)" ); + + mbuf->state = 0; + mbuf = rmr_wh_send_msg( NULL, 0, mbuf ); + if( mbuf ) { + fail_if_equal( mbuf->state, 0, "wh_send_msg returned a zero state when given a nil context" ); + } + fail_if_nil( mbuf, "wh_send_msg returned a nil message buffer when given a nil context" ); + + while( mbuf ) { if( !(mbuf = rmr_wh_send_msg( ctx, 50, mbuf )) ) { // test for coverage errors += fail_if_nil( mbuf, "send didn't return an mbuf (skip rest of send tests)" ); @@ -123,7 +135,25 @@ static int worm_test( ) { break; } + // ---- wormhole state ----------- + state = rmr_wh_state( NULL, 0 ); + errors += fail_if_equal( state, RMR_OK, "wh_state with bad context did not return error" ); + + state = rmr_wh_state( ctx, -1 ); + errors += fail_if_equal( state, RMR_OK, "wh_state with bad whid did not return error" ); + + whid = rmr_wh_open( ctx, "localhost:9219" ); + if( ! fail_if_equal( whid, -1, "skipping some wh_state tests: no whid returned" ) ) { + state = rmr_wh_state( ctx, whid ); + errors += fail_not_equal( state, RMR_OK, "wh_state on an open wh did not return OK" ); + + rmr_wh_close( ctx, whid ); + state = rmr_wh_state( ctx, whid ); + errors += fail_if_equal( state, RMR_OK, "wh_state on a closed wh returned OK" ); + whid = -1; + } + // ----------------------------------------------------------------------- // WARNING: these tests destroy the context, so they MUST be last if( mbuf ) { // only if we got an mbuf errno = 0;