X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fmbuf_api_test.c;h=09c4da4cb1825c4511540f878de4ed9486eb1608;hb=f89eec503272760b0a323c342c76eb013fcf795a;hp=858efdc2d21b76d4872fab5a06420942b36faec6;hpb=8dd46415b94b33fa960bdd5732e909ffc4859520;p=ric-plt%2Flib%2Frmr.git diff --git a/test/mbuf_api_test.c b/test/mbuf_api_test.c index 858efdc..09c4da4 100644 --- a/test/mbuf_api_test.c +++ b/test/mbuf_api_test.c @@ -1,14 +1,14 @@ // : vi ts=4 sw=4 noet : /* ================================================================================== - Copyright (c) 2019 Nokia - Copyright (c) 2018-2019 AT&T Intellectual Property. + Copyright (c) 2019 Nokia + Copyright (c) 2018-2019 AT&T Intellectual Property. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, @@ -22,6 +22,10 @@ /* Mnemonic: mbuf_api_test.c Abstract: Unit tests for the mbuf common API functions. + To allow the mbuf functions to be tested without the bulk of the + RMr mechanics, we dummy up a couple of functions that are in + rmr[_nng].c. + Author: E. Scott Daniels Date: 2 April 2019 */ @@ -35,16 +39,60 @@ #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" -#include "../src/common/src/mbuf_api.c" // module under test +#include "mbuf_api.c" +#define MSG_VER 3 #include "test_support.c" // our private library of test tools #include "mbuf_api_static_test.c" // test functions +// --- dummies ------------------------------------------------------------------- + +/* + This will leak, but we're not here to test free. +*/ +extern void rmr_free_msg( rmr_mbuf_t* mbuf ) { + return; +} + +/* + Minimal buffer realloc to allow api to be tested without coverage hit if + we actually pulled in the sr static set. + + WARNING: this is NOT a complete realloc. We assume that we are testing + just the trace length adjustment portion of the set_trace() + API and are not striving to test the real realloc function. That + will be tested when the mbuf_api_static_test code is used by the + more generic RMr test. So, not all fields in the realloc'd buffer + can be used. +*/ +extern rmr_mbuf_t* rmr_realloc_msg( rmr_mbuf_t* msg, int new_tr_size ) { + rmr_mbuf_t* new_msg; + uta_mhdr_t* hdr; + + new_msg = (rmr_mbuf_t *) malloc( sizeof *new_msg ); + new_msg->tp_buf = (void *) malloc( 2048 ); + memset( new_msg->tp_buf, 0, 2048 ); + hdr = (uta_mhdr_t*) new_msg->tp_buf; + SET_HDR_LEN( hdr ); + SET_HDR_TR_LEN( hdr, new_tr_size ); + + new_msg->payload = new_msg->tp_buf + new_tr_size; + new_msg->header = new_msg->tp_buf; + new_msg->alloc_len = 2048; + new_msg->len = msg->len; + + return new_msg; +} + +// -------------------------------------------------------------------------------- + int main( ) { int errors = 0; @@ -55,4 +103,6 @@ int main( ) { } else { fprintf( stderr, " mbuf_api tests pass\n" ); } + + return errors; }