X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Ftest_gen_rt.c;h=8373d8d1c315205900004e43d5edf7e94599eb83;hb=refs%2Fchanges%2F85%2F11885%2F3;hp=08c1276dc2d519781b1d32f58d3b264e5534d7eb;hpb=0b79fc264eea2591ad6f645d0c90cc378ea5603b;p=ric-plt%2Flib%2Frmr.git diff --git a/test/test_gen_rt.c b/test/test_gen_rt.c index 08c1276..8373d8d 100644 --- a/test/test_gen_rt.c +++ b/test/test_gen_rt.c @@ -31,12 +31,15 @@ /* Generate a simple route table (for all but direct route table testing). - This gets tricky inasmuch as we generate two in one; first a whole table + This gets tricky inasmuch as we generate two in one; first a whole table and then two update tables. The first is a table with a bad counter in the last record to test that we don't load that table and error. The second is a good update. The same applies to the meid map; first has a bad counter and some bad records to drive coverage testing. The end should leave a good meid map in the table. + + Once the file is generated, it is forced in via static read and the file + is unlinked. */ static void gen_rt( uta_ctx_t* ctx ) { int fd; @@ -49,6 +52,8 @@ static void gen_rt( uta_ctx_t* ctx ) { } rt_stuff = + "updatert|start\n" // update check before whole table received + "updatert|end\n" "newrt|end\n" // end of table check before start of table found "# comment to drive full comment test\n" "\n" // handle blank lines @@ -72,11 +77,11 @@ static void gen_rt( uta_ctx_t* ctx ) { rt_stuff = // add an meid map which will fail "meid_map | start\n" - "mme_ar | e2t-1 | one two three four\n" + "mme_ar | e2t-1 | one two three four\r" // also test bloody apple way with \r "mme_del | one two\n" "mme_del \n" // short entries drive various checks for coverage - "mme_ar \n" - "mme_ar | e2t-0 \n" + "mme_ar \n" + "mme_ar | e2t-0 \n" "meid_map | end | 5\n"; // this will fail as the short recs don't "count" write( fd, rt_stuff, strlen( rt_stuff ) ); @@ -108,7 +113,7 @@ static void gen_rt( uta_ctx_t* ctx ) { "mme_del | meid11 meid12 meid13\n" // includes a non-existant meid "meid_map | end | 1\n"; write( fd, rt_stuff, strlen( rt_stuff ) ); - + close( fd ); read_static_rt( ctx, 1 ); // force in verbose mode to see stats on tty if failure unlink( "utesting.rt" ); @@ -118,23 +123,27 @@ static void gen_rt( uta_ctx_t* ctx ) { /* Generate a custom route table file using the buffer passed in. + Then force it to be read into the current route table. The file + is unlinked when finished. */ static void gen_custom_rt( uta_ctx_t* ctx, char* buf ) { int fd; - char* rt_stuff; // strings for the route table - fd = open( "utesting.rt", O_WRONLY | O_CREAT, 0600 ); + fd = open( "Xutesting.rt", O_WRONLY | O_CREAT, 0600 ); if( fd < 0 ) { fprintf( stderr, " unable to open file for testing route table gen\n" ); return; } - setenv( "RMR_SEED_RT", "utesting.rt", 1 ); + setenv( "RMR_SEED_RT", "Xutesting.rt", 1 ); - write( fd, rt_stuff, strlen( buf ) ); + fprintf( stderr, " creating custom rt from buffer (%d bytes)\n", (int) strlen (buf ) ); + if( write( fd, buf, strlen( buf ) ) != strlen( buf ) ) { + fprintf( stderr, " write failed: %s\n", strerror( errno ) ); + } close( fd ); read_static_rt( ctx, 1 ); // force in verbose mode to see stats on tty if failure - unlink( "utesting.rt" ); + unlink( "Xutesting.rt" ); }