X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fsymtab_test.c;h=19713178c450df09acaf64f62e972c7d1e4dcd59;hb=refs%2Ftags%2F3.3.0;hp=76b27659501aa05e2a20415b15f0d42e67b20c9d;hpb=fd9cc7a5b3355146388ebdf4d558cb284c66c5f1;p=ric-plt%2Flib%2Frmr.git diff --git a/test/symtab_test.c b/test/symtab_test.c index 76b2765..1971317 100644 --- a/test/symtab_test.c +++ b/test/symtab_test.c @@ -1,13 +1,13 @@ /* ================================================================================== - 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, @@ -21,16 +21,23 @@ /* Mnemonic: symtab_test.c Abstract: This is the unit test module that will drive tests against - the symbol table portion of RMr. Run with: + the symbol table portion of RMr. Run with: ksh unit_test.ksh symtab_test.c Date: 1 April 2019 Author: E. Scott Daniels */ -#include "../src/common/include/rmr_symtab.h" -#include "../src/common/src/symtab.c" +#define NO_DUMMY_RMR 1 // no dummy rmr functions; we don't pull in rmr.h or agnostic.h +#define NO_EMULATION +#define NO_PRIVATE_HEADERS +#include +#include #include "test_support.c" +#include "rmr_symtab.h" + +#include "symtab.c" // module under test + int state = GOOD; // overall pass/fail state 0==fail int counter; // global counter for for-each tests @@ -46,7 +53,7 @@ static void fetch( void* st, char* key, int class, int expected ) { if( !expected ) { state = BAD; } - + } else { fprintf( stderr, "[%s] string key fetch return nil\n", expected ? "FAIL" : "OK" ); if( expected ) { @@ -81,36 +88,36 @@ static void each_counter( void* a, void* b, const char* c, void* d, void* e ) { } int main( ) { - void* st; - char* foo = "foo"; - char* bar = "bar"; + void* st; + char* foo = "foo"; + char* bar = "bar"; char* goo = "goo"; // name not in symtab int i; int class = 1; int s; void* p; - st = rmr_sym_alloc( 10 ); // alloc with small value to force adjustment inside + st = rmr_sym_alloc( 10 ); // alloc with small value to force adjustment inside fail_if_nil( st, "symtab pointer" ); - s = rmr_sym_put( st, foo, class, bar ); // add entry with string key; returns 1 if it was inserted + s = rmr_sym_put( st, foo, class, bar ); // add entry with string key; returns 1 if it was inserted fail_if_false( s, "insert foo existed" ); - s = rmr_sym_put( st, foo, class+1, bar ); // add to table with a different class + s = rmr_sym_put( st, foo, class+1, bar ); // add to table with a different class fail_if_false( s, "insert foo existed" ); - s = rmr_sym_put( st, foo, class, bar ); // inserted above, should return not inserted (0) + s = rmr_sym_put( st, foo, class, bar ); // inserted above, should return not inserted (0) fail_if_true( s, "insert foo existed" ); fetch( st, foo, class, 1 ); fetch( st, goo, class, 0 ); // fetch non existant - rmr_sym_stats( st, 4 ); // early stats at verbose level 4 so chatter is minimised + rmr_sym_stats( st, 4 ); // early stats at verbose level 4 so chatter is minimised rmr_sym_dump( st ); for( i = 2000; i < 3000; i++ ) { // bunch of dummy things to force chains in the table rmr_sym_map( st, i, foo ); // add entry with unsigned integer key } - rmr_sym_stats( st, 0 ); // just the small facts to verify the 1000 we stuffed in + rmr_sym_stats( st, 0 ); // just the small facts to verify the 1000 we stuffed in rmr_sym_ndel( st, 2001 ); // force a numeric key delete rmr_sym_ndel( st, 12001 ); // delete numeric key not there @@ -127,13 +134,13 @@ int main( ) { nfetch( st, 2345, 1 ); - rmr_sym_del( st, foo, 0 ); + rmr_sym_del( st, foo, 0 ); - rmr_sym_stats( st, 0 ); + rmr_sym_stats( st, 0 ); rmr_sym_free( NULL ); // ensure it doesn't barf when given a nil pointer rmr_sym_free( st ); - return state; + return state; }