X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fmbuf_api_static_test.c;fp=test%2Fmbuf_api_static_test.c;h=2482f0c41ec77007cdeaf7cc867b99ef5c2d37b4;hb=a7610c690a3976e296ca768977e38ceb9aafa5ff;hp=8b17968acbab5df8946539d185cab30e1defb624;hpb=29cb100165e8f6ed4b2c7f1e94fdca0fcc8e7e81;p=ric-plt%2Flib%2Frmr.git diff --git a/test/mbuf_api_static_test.c b/test/mbuf_api_static_test.c index 8b17968..2482f0c 100644 --- a/test/mbuf_api_static_test.c +++ b/test/mbuf_api_static_test.c @@ -47,6 +47,7 @@ int mbuf_api_test( ) { int state; int errors = 0; char* buf; + void* ptr; rmr_mbuf_t* mbuf; unsigned char src_buf[256]; @@ -219,6 +220,24 @@ int mbuf_api_test( ) { state = rmr_get_trlen( NULL ); // coverage test on nil check errors += fail_not_equal( state, 0, "get trace length with nil msg didn't return expected 0 status" ); + ptr = rmr_trace_ref( NULL, NULL ); + errors += fail_not_nil( ptr, "trace ref returned non-nil pointer when given nil message" ); + + mbuf = test_mk_msg( 2048, 0 ); // initially no trace size to force realloc + ptr = rmr_trace_ref( mbuf, NULL ); + errors += fail_not_nil( ptr, "trace ref returned non-nil pointer when given a message without trace data" ); + + i = 100; // ensure that i is reset when there is no trace data + ptr = rmr_trace_ref( mbuf, &i ); + errors += fail_not_nil( ptr, "trace ref returned non-nil pointer when given a message without trace data" ); + errors += fail_not_equal( i, 0, "trace ref returned non zero size (a) when no trace info in message" ); + + i = 100; + mbuf = test_mk_msg( 2048, 113 ); // alloc with a trace data area + ptr = rmr_trace_ref( mbuf, &i ); + errors += fail_if_nil( ptr, "trace ref returned nil pointer when given a message with trace data" ); + errors += fail_not_equal( i, 113, "trace ref returned bad size (a), expected (b)" ); + src_buf[0] = 0; state = rmr_set_trace( mbuf, "foo bar was here", 17 ); // should force a realloc